考虑每个薪资对应的员工都不不止一个人,这就导致排序的序号可能是1,1,1,1,2,2,2,3,3,4,,,,,此时使用开窗函数dense_rank()能够很好的应对这种情况。 select emp_no , salary from (select emp_no , salary,dense_rank() over(order by salary desc) as ranking from salaries) t where t.ranking = 2