枚举多列

时间:2016-10-04 19:15:13

标签: sql

ID     descr    points  
----------------------
1000    24      100 
1000    24      40  
1000    25      100
1000    25      40  
2000    24      100
2000    25      100
2000    26      100 

上面是我的桌子。我想根据 ID descr 添加/更新列枚举记录。我怎么能这样做?

以下是我要找的结果。

ID     descr    points   order# 
-------------------------------
1000    24      100         1 
1000    24      40          2
1000    25      100         1  
1000    25      40          2
2000    24      100         1
2000    25      100         2
2000    26      100         3  

1 个答案:

答案 0 :(得分:2)

您可以使用ANSI标准函数`row_number():

select id, descr, points,
       row_number() over (partition by id, descr order by points desc) as ordernum
from t;