题解 | #获取当前薪水第二多的员工的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)