当UName发生变化时,是否可以重新编写此查询以重新开始编号,以便我的结果集为:
1 FerrieC 2 FerrieC 3 FerrieC 1 GrayD 1 TimneyA 2 TimneyA
SELECT Row_Number()OVER(ORDER BY u.UName)as RowNumber,u.UName FROM( 选择'Ferriec'作为UName UNION ALL 选择'Ferriec'作为UName UNION ALL 选择'Ferriec'作为UName UNION ALL SELECT'TimneyA'作为UName UNION ALL SELECT'TimneyA'作为UName UNION ALL 选择'GrayD'作为UName)作为你
Thansk! :)
答案 0 :(得分:5)
试试这个:
SELECT Row_Number() OVER (PARTITION BY UName ORDER BY u.UName) as RowNumber
,u.UName
FROM ( SELECT 'Ferriec' As UName UNION ALL
SELECT 'Ferriec' As UName UNION ALL
SELECT 'Ferriec' As UName UNION ALL
SELECT 'TimneyA' As UName UNION ALL
SELECT 'TimneyA' As UName UNION ALL
SELECT 'GrayD' As UName ) as u
答案 1 :(得分:2)
不确定
ROW_NUMBER OVER (ORDER BY u.UName) - RANK OVER (ORDER BY u.UName) + 1