【sql】SQL23 对所有员工的薪水按照salary降序进行1-N的排名

  • Post author:
  • Post category:其他


题目:


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