题解 | #满足条件的用户的试卷完成数和题目练习数#

满足条件的用户的试卷完成数和题目练习数

http://www.nowcoder.com/practice/5c03f761b36046649ee71f05e1ceecbf

select er.uid as uid,count(distinct er.exam_id) as exam_cnt,count(distinct pr.submit_time,pr.question_id) as question_cnt from exam_record er left join practice_record pr on er.uid=pr.uid and year(er.submit_time)=2021 and year(pr.submit_time)=2021 where er.uid in( select er.uid from exam_record er left join examination_info ei on er.exam_id = ei.exam_id left join user_info ui on er.uid = ui.uid where tag='SQL' and difficulty='hard' and level = 7 group by er.uid having avg(score) > 80 ) and year(er.submit_time)=2021 group by er.uid order by exam_cnt,question_cnt desc 主要解决点在on后跟and on 后跟and 此时,筛选留下的结果是右表中year(submit_time)为2021的和左表中全部数据,右表中不满足year=2021的全部补为null;计算题目练习数用question_id和时间一起去重。

全部评论

相关推荐

05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
点赞 评论 收藏
分享
05-23 19:02
吉林大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务