在牛客刷题有一个通过题目个数的(passing_number)表,id是主键,简化如下:
第1行表示id为1的用户通过了4个题目;
…
第6行表示id为6的用户通过了4个题目;
请你根据上表,输出通过的题目的排名,通过题目个数相同的,排名相同,此时按照id升序排列,数据如下:
id为5的用户通过了5个排名第1,
id为1和id为6的都通过了2个,并列第2
select
p1.id,
p1.number,
count(distinct p2.number) as t_rank
from
passing_number as p1,
passing_number as p2
where
p1.number <= p2.number
group by
p1.id
order by
t_rank asc,
p1.id asc
# rank是关键字注意
id为5的用户通过了5个排名第1,
id为1和id为6的都通过了2个,并列第2