题解 | 获取当前薪水第二多的员工的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()
不会跳过排名号。