Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]SQL中如何建这样的查询

Bio_hebei  发表于:2018-04-28 19:08:22  
复制

表A
ID 数值
1 6
2 2
3 8
4 7
5 4
6 12
7 9


查询
ID 数值 查询列
2 2 1
5 4 2
1 6 3
4 7 4
3 8 5
7 9 6
6 12 7

在ACCESS中,查询列表达式可以这样写:DCount("数值","表A","数值<" & [表A].[数值])+1 ,但在SQL中建查询却不能识别Dcount,如何实现这个效果呢?即:按照数值排序,并生成一个按顺序编号(类似自动编号)的查询列?

 

Top
呵,年轻人 发表于:2018-04-29 10:11:21
select * , ROW_NUMBER() over(order by 数值) as 查询列 from 表A


Bio_hebei 发表于:2018-04-30 06:24:14

后来我用  rank() over(partition by.....order by.....) as 查询列 from  表A 这个方式解决了(实际表中需要用到partition by)

试了试,用1楼版主的方式也可以的,非常感谢!



总记录:2篇  页次:1/1 9 1 :