题解 | #作答试卷得分大于过80的人的用户等级分布#
作答试卷得分大于过80的人的用户等级分布
https://www.nowcoder.com/practice/5bc77e3a3c374ad6a92798f0ead4c744
# 先找得分>80的SQL用户
# select uid from exam_record join examination_info using(exam_id)
# where score > 80 and tag='SQL'
select level,count(distinct uid) level_cnt
from user_info
where uid in (
select uid from exam_record join examination_info using(exam_id)
where score > 80 and tag='SQL'
)
group by level
order by level_cnt desc,level desc
# 这题有个坑,不严谨。 如果count(distinct uid),则报错,因为level没有排序,而原题只要求对数量降序
# 但是count(distinct uid)才100%正确,所以order by 要加个level desc