题解 | #对所有员工的薪水按照salary降序进行1-N的排名#

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

http://www.nowcoder.com/practice/b9068bfe5df74276bd015b9729eec4bf

解题思路:

  1. 先按照工资进行排序,根据题目要求的工资排序方式,因此选择dense_rank()函数。
  2. 因为当工资相同时,还需要按照员工编号再进行排序,因此外层再次使用order by,值得注意的是,这里排序是就需要使用两个字段:t_rank和emp_no,如果只有emp_no则排序会出现问题。
select emp_no, salary, dense_rank() over (order by salary desc) as t_rank
from salaries
order by t_rank,emp_no
;
全部评论

相关推荐

07-14 12:29
门头沟学院 Java
后端岗,实习三周感觉有点想跑路了,担心秋招被拉黑,有没有佬是字节HR知道情况的
从零开始的转码生活:你实习三周都想跑路,将来拿到offer真的愿意在这干十几二十年吗
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务