排名函数
第一种函数:row_number从1开始,按照顺序,生成分组内记录的序列,row_number()的值不会存在重复,当排序的值相同时,按照表中记录的顺序进行排列
效果如下:
98 1
97 2
97 3
96 4
95 5
95 6
没有并列名次情况,顺序递增
第二种函数:RANK() 生成数据项在分组中的排名,排名相等会在名次中留下空位
效果如下:
98 1
97 2
97 2
96 4
95 5
95 5
94 7
有并列名次情况,顺序跳跃递增
第三种函数:DENSE(但是)_RANK() 生成数据项在分组中的排名,排名相等会在名次中不会留下空位
效果如下:
98 1
97 2
97 2
96 3
95 4
95 4
94 5
有并列名次情况,顺序递增
准备数据
userid classno score
1 qf1808 80
2 qf1808 92
3 qf1808 84
4 qf1808 86
5 qf1808 88
6 qf1808 70
7 qf1808 98
8 qf1808 84
9 qf1808 86
10 qf1807 90
11 qf1807 92
12 qf1807 84
13 qf180