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

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

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

直接用窗口函数:
select
emp_no,
salary,
dense_rank()over(order by salary desc) t_rank
from salaries
where to_date='9999-01-01'
order by t_rank,emp_no

本题有三个知识点:
1、dense_rank()over(order by salary desc) 使用窗口函数并列连续型排序,简洁快速;
2、order by t_rank,emp_no已经对序号进行排序(默认升序,asc可忽略),无需再嵌套一层子查询,也无需对t_rank再聚合一次
3、记得筛选出to_date='9999-01-01'表示只筛选出在职员工(未离职)



全部评论

相关推荐

07-03 16:02
门头沟学院 Java
今天面试,非常紧张,面试官问我springboot有哪些核心模块都答不上来了,真的对自己无语了!
程序员小白条:28届我勒个去,很多人面试都没机会
查看1道真题和解析
点赞 评论 收藏
分享
06-18 13:28
已编辑
门头沟学院 Web前端
爱睡觉的冰箱哥:《给予你300的工资》,阴的没边了
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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