题解 | 获取当前薪水第二多的员工的emp_no以及其对应的薪水salary

获取当前薪水第二多的员工的emp_no以及其对应的薪水salary

https://www.nowcoder.com/practice/8d2c290cc4e24403b98ca82ce45d04db

select c.emp_no,c.salary
from (
    select emp_no,salary,
    DENSE_RANK() OVER (order by salary DESC) as dr
    from salaries
) as c
where c.dr = 2; 

DENSE_RANK() 的作用是为结果集中的行分配排名,使得并列的行具有相同的排名号,并且后续排名号是连续的。这与 RANK() 不同,RANK() 在处理并列排名时会跳过一些排名号,而 DENSE_RANK() 不会跳过排名号。

全部评论

相关推荐

秋盈丶:后续:我在宿舍群里和大学同学分享了这事儿,我好兄弟气不过把他挂到某脉上了,10w+阅读量几百条评论,直接干成精品贴子,爽
点赞 评论 收藏
分享
刘湘_passion:太强了牛肉哥有被激励到
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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