首先利用窗口函数对薪资进行排序。
# 这里是密集排序,dense_rank()函数,区别于rank() 和 row_number(),不清楚这个知识点可以自己学习一下。
select
emp_no,
salary,
dense_rank() over(order by salary desc) as t_rank
from
salaries
对上面的排序结果,再进行 t_rank和emp_no升序排序
select
emp_no,
salary,
t_rank
from
(
select
emp_no,
salary,
dense_rank() over(order by salary desc) as t_rank
from
salaries
) aa
order by
t_rank asc,
emp_no asc