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()
不会跳过排名号。