题解 | #获取当前薪水第二多的员工的emp_no以及#

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

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

select emp_no,salary
from 
(
select *,dense_rank() over(order by salary desc) rk 
from salaries
) a 
where rk = 2

没什么好说的,可以扩展一下题目,比如:

emp_no salary

1001 200

1002 100

1001 90

现在要获取每位员工能够获取第二多的薪水数值

select emp_no,salary
from 
(
select *,dense_rank() over(partition by emp_no order by salary desc) rk 
from salaries
) a 
where rk = if(rk=2,2,1)

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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