题解 | #作答试卷得分大于过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
全部评论

相关推荐

美团 后端开发 总包n(15%是股票)
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务