以下两个函数都是处理排名的:
DENSE_RANK()
ROW_NUMBER()
RANK()
用法:
SELECT DENSE_RANK() OVER(ORDER BY [排序字段] DESC),[字段1]... FROM 表名
两种函数的用法是一样
查询结果的比较:
DENSE_RANK() | ROW_NUMBER() | RANK() |
1 | 1 | 1 |
2 | 2 | 2 |
2 | 3 | 2 |
3 | 4 | 4 |
4 | 5 | 5 |
5 | 6 | 6 |
以上红色部分已经将不同点标注的非常清楚。
可以根据不同的需求选择所对应的排名函数。