图是"班级"表中的内容,记录了每个学生所在班级,和对应的成绩。
现在需要按成绩来排名,如果两个分数相同,那么排名要是并列的。
正常排名是1,2,3,4,但是现在前3名是并列的名次,排名结果是:1,1,1,2。
它们的区别我举个例子,你们一下就能看懂:
- select *,
- rank() over (order by 成绩 desc) as ranking,
- dense_rank() over (order by 成绩 desc) as dese_rank,
- row_number() over (order by 成绩 desc) as row_num
- from 班级
-
得到结果:
从上面的结果可以看出:
这三个函数的区别如下: