1、row_number对生成记录排序
select ROW_NUMBER() OVER(order by[score] desc) as row_number,* from scores;
2、rank,考虑相同值得排名排序问题,相同值排名相同,下一位会排名加一,排名不连续。
select RANK() OVER(order by [UserId]) as rank,* from [Order];
3、dense_rank相比rank,相同值的排名时不跳过排名号,排名连续。
select DENSE_RANK() OVER(order by [UserId]) as den_rank,* from [Order];