开窗函数-排名
排名主要利用三种函数
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 协议 ,转载请注明出处!