在牛客刷题有一个通过题目个数的(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
作者:Sky-木落
ps:以上是SQL中经典自连接问题全部内容,希望文章能够帮你解决SQL中经典自连接问题所遇到的游戏开发问题。
本文收录在 游戏编程 🕹️ - 学习数据库专题,分享走一走~
您可以在登录后,发表评论