题解 | #满足条件的用户的试卷完成数和题目练习数#
满足条件的用户的试卷完成数和题目练习数
https://www.nowcoder.com/practice/5c03f761b36046649ee71f05e1ceecbf
WITH user AS
(SELECT er.uid FROM exam_record AS er LEFT JOIN examination_info AS ei ON er.exam_id=ei.exam_id LEFT JOIN user_info AS ui ON er.uid=ui.uid
WHERE ei.tag='SQL' AND ei.difficulty='hard' AND ui.level=7
GROUP BY er.uid
HAVING AVG(er.score)>80)
SELECT user.uid,exam_cnt,IFNULL(question_cnt,0) FROM
user LEFT JOIN
(SELECT uid,COUNT(*) AS exam_cnt FROM exam_record
WHERE YEAR(submit_time)='2021'
GROUP BY uid) AS t1
ON user.uid=t1.uid
LEFT JOIN
(SELECT uid,COUNT(*) AS question_cnt FROM practice_record WHERE YEAR(submit_time)='2021' GROUP BY uid) AS t2
ON user.uid=t2.uid
ORDER BY exam_cnt,question_cnt DESC;