select emp_no, salary,
dense_rank() over(order by salary desc) as t_rank
from salaries

排序函数row_number、rank、dense_rank的区别

口诀:

row_number 不存在并列

dense_rank 和rank存在并列,但rank很跳。

口诀的意思是:

row_number:不考虑并列的情况,哪怕分数相同,排名都是一溜下来的自然数。

dense_rank和rank 考虑并列的情况,区别在于rank很跳,并列排名的个数会影响接下来的排名,表现为数字的中断。而dense_rank 不管有几个并列的第5名,接下来都是从6开始排。

————————————————

版权声明:本文为CSDN博主「海上钢琴师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_41710541/article/details/118531655