题目:
   
    
     对所有员工的薪水按照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 版权协议,转载请附上原文出处链接和本声明。
