方法1:连接,分组,去重找到名词,再连接,最后排序;
SELECT c.id,c.number ,d.t_rank
FROM passing_number AS c INNER JOIN(
SELECT a.number,COUNT(DISTINCT(b.number)) AS t_rank
FROM passing_number AS a,passing_number AS b
WHERE a.number<=b.number
GROUP BY a.number
) AS d
ON c.number=d.number
ORDER BY d.t_rank,c.id

方法2:直接使用DENSE_RANK函数找到名次,然后按照排名和id升序排序;
SELECT a.id,a.number,DENSE_RANK() OVER(ORDER BY a.number DESC) AS t_rank
FROM passing_number AS a
ORDER BY t_rank,a.id ASC