题目:
对所有员工的薪水按照salary降序进行1-N的排名_牛客题霸_牛客网
有一个薪水表salaries简况如下:
emp_no | salary | from_date | to_date |
10001 | 88958 | 2002-06-22 | 9999-01-01 |
10002 | 72527 | 2001-08-02 | 9999-01-01 |
10003 | 43311 | 2001-12-01 | 9999-01-01 |
10004 | 72527 | 2001-12-01 | 9999-01-01 |
对所有员工的薪水按照salary降序先进行1-N的排名,如果salary相同,再按照emp_no升序排列:
emp_no | salary | t_rank |
10001 | 88958 | 1 |
10002 | 72527 | 2 |
10004 | 72527 | 2 |
10003 | 43311 | 3 |
题解:
order by后面可以跟两个字段,按照字段的先后顺序排序
select
emp_no,
salary,
dense_rank() over(order by salary desc) as `t_rank`
from
salaries
order by
salary desc,
emp_no asc
版权声明:本文为weixin_43955488原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。