我的数据如下表
现在我想为每个重复值生成唯一的排名值,例如下面的1,2,3,4等
如何在SQL Server 2016中执行此操作?
答案 0 :(得分:3)
您似乎正在寻找row_number()
:
select t.*,
row_number() over (partition by id, name order by deptid) as ranking
from t;
答案 1 :(得分:0)
您也可以使用DENSE_RANK,
select table.*,
DENSE_RANK() over (order by id, name ,deptid) as RANK
from table;