题解 | #获取当前薪水第二多的员工的emp_no以及其对应的薪水salary#
获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
http://www.nowcoder.com/practice/8d2c290cc4e24403b98ca82ce45d04db
为了获取薪水第二多的员工信息, 我们可以用新建临时表+窗口函数的用法来解决。具体的,我们可以先把员工的薪水利用 rank() 窗口函数排个序, 然后新建一个临时表,再从临时表中筛选数据,具体代码如下:
select t.emp_no, t.salary
from
(select emp_no, salary, rank() over(order by salary desc) as rn
from salaries) t
where t.rn = 2;
-- 常见的窗口函数: rank(), row_number(), dense_rank()