开窗函数-排名
排名主要利用三种函数
rank() 排序相同时重复,总数不会减少
dense_rank() 排序相同时重复,总数减少
row_number() 排序不重复,总数不变
比如对如下表根据分数进行降序排名
id | grade |
---|---|
1 | 97 |
2 | 96 |
3 | 95 |
4 | 95 |
5 | 98 |
6 | 94 |
rank()
id | grade | rank |
---|---|---|
5 | 98 | 1 |
1 | 97 | 2 |
2 | 96 | 3 |
3 | 95 | 4 |
4 | 95 | 4 |
6 | 94 | 6 |
1 |
|
dense_rank()
id | grade | rank |
---|---|---|
5 | 98 | 1 |
1 | 97 | 2 |
2 | 96 | 3 |
3 | 95 | 4 |
4 | 95 | 4 |
6 | 94 | 5 |
1 |
|
row_number()
id | grade | rank |
---|---|---|
5 | 98 | 1 |
1 | 97 | 2 |
2 | 96 | 3 |
3 | 95 | 4 |
4 | 95 | 5 |
6 | 94 | 6 |
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!