知识点

  1. 直接使用窗口函数dense_rank按照number大小降序排列进行排名,最后排序就按照排名进行排序
RANK并列跳跃排名,并列即相同的值,相同的值保留重复名次,遇到下一个不同值时,跳跃到总共的排名。
DENSE_RANK并列连续排序,并列即相同的值,相同的值保留重复名次,遇到下一个不同值时,依然按照连续数字排名。
ROW_NUMBER连续排名,即使相同的值,依旧按照连续数字进行排名。

代码

select id, number, 
dense_rank() over(order by number desc) as t_rank
from passing_number
order by t_rank