北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
请教一个问题,如例子:表1
列1 列2
A 30
A 31
A 32
A 32
A 33
B 33
B 34
B 34
B 35
B 36
C 36
C 36
C 37
C 38
C 39
想得到新的表
列1 列2 标记
A 30 1
A 31 2
A 32 3
A 32 4
A 33 5
B 33
1
B 34 2
B 34 3
B 35 4
B 36 5
C 36 1
C 36 2
C 37 3
C 38 4
C 39
5
就是根据列1分组,再根据列2排序,按列2的数值大小排序,并自动生成递增数字的标记字段,若列2有重复值,自动生成的数字依然能按顺序递增!现有SQL语句:SELECT b.列1, b.列2, (SELECT count(*)+1 as dd FROM [表1] as a where a.[列1]=b.[列1] and a.[列2]<b.[列2]) AS 标记
FROM 表1 AS b
ORDER BY b.列1, b.列2;
结果为
列1 列2 标记
A 30 1
A 31 2
A 32 3
A 32 3
A 33 5
B 33
1
B 34 2
B 34 2
B 35 4
B 36 5
C 36 1
C 36 1
C 37 3
C 38 4
C 39 5
,该SQL语句不能对列2重复值数据记录进行递增编号,请各位大侠指导一下,如何修改上述SQL语句,以实现列2重复值记录仍能按顺序递增!谢谢!