题解 | #作答试卷得分大于过80的人的用户等级分布#
作答试卷得分大于过80的人的用户等级分布
http://www.nowcoder.com/practice/5bc77e3a3c374ad6a92798f0ead4c744
使用in运算符分步查询
- 在examination_info表中找出SQL试卷的exam_id
- 在exam_record表中根据找到的exam_id找出做了SQL试卷且分数大于80的uid
- 在user_info表中根据uid找到相应的用户,使用相关聚合函数完成查询
select
level,count(uid) level_cnt
from
user_info
where
uid in
(select uid from exam_record where exam_id in --第二步
(select exam_id from examination_info where tag='SQL') and score>80) --第一步
group by
level
order by
level_cnt desc --第三步