改了一下: 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;
点赞

相关推荐

12-15 14:16
门头沟学院 Java
回家当保安:发offer的时候会背调学信网,最好不要这样。 “27届 ”和“28届以下 ”公司招聘的预期是不一样的。
实习简历求拷打
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务