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)