/* #高难度SQL试卷 #得分平均值大于80 #并且是7级的红名大佬, #2021年 ------------------------------- 统计他们的: #试卷总完成次数 #题目总练习次数 #只保留2021年有试卷完成记录的用户。 #结果按试卷完成数升序, #按题目练习数降序。 */ select uid, count(distinct case when year(exam_record.submit_time) = '2021' then exam_record.id else null end) as exam_cnt, count(distinct case when year(practice_record.submit_time) = '2021' then practice_record.id else null end) as question_cnt from ( select uid from exam_record left join examination_info using(exam_id) left join user_info using(uid) where difficulty = 'hard' and tag = 'SQL' and level = '7' and year(exam_record.submit_time) = '2021' group by uid having avg(exam_record.score) > 80 ) mindle left join exam_record using (uid) left join practice_record using (uid) group by uid order by exam_cnt, question_cnt desc;