在牛客刷题有一个通过题目个数的(passing_number)表,id是主键,简化如下:

第1行表示id为1的用户通过了4个题目;

.....

第6行表示id为6的用户通过了4个题目;

请你根据上表,输出通过的题目的排名,通过题目个数相同的,排名相同,此时按照id升序排列,数据如下:


id为5的用户通过了5个排名第1,

id为1和id为6的都通过了4个,并列第2

drop table if exists passing_number;
CREATE TABLE `passing_number` (
`id` int(4) NOT NULL,
`number` int(4) NOT NULL,
PRIMARY KEY (`id`));

INSERT INTO passing_number VALUES
(1,4),
(2,3),
(3,3),
(4,2),
(6,4),
(5,5);





SELECT id, number, DENSE_RANK() OVER (ORDER BY number DESC) AS t_tank
FROM passing_number
ORDER BY t_tank, id;