题解 | #作答试卷得分大于过80的人的用户等级分布#
作答试卷得分大于过80的人的用户等级分布
http://www.nowcoder.com/practice/5bc77e3a3c374ad6a92798f0ead4c744
解题思路
- 筛选出tag为"SQL"并且分数大于80的exam_id
- 选出答过sql题目的uid,(用distinct)
- 在用户表中用where uid in进行限制
- 按level分组,level_cnt desc 排序
代码
select level, count(uid) level_cnt from user_info
where uid in (
select distinct er.uid from exam_record er
where er.exam_id in (select exam_id from examination_info where tag = "SQL") and er.score > 80
)
group by level
order by level_cnt desc
查看16道真题和解析
