题解 | #平均活跃天数和月活人数#

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

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

#1. 先找出满足SQL,hard, level为7 的用户id,作为筛选userid的条件
#2. 定位满足1 的uid后,计算出完成的考试数,注意需要满足2021年的约束,否则计算出的结果不对
#3. 左连接练习问题表,计算出完成问题,输出
SELECT b.uid,b.exam_cnt,count(p.question_id)as question_cnt
FROM
(
    select r1.uid, count(r1.submit_time)as exam_cnt
    from exam_record r1
    where r1.uid in  
      (select r.uid from exam_record r
       left join examination_info i
       on r.exam_id = i.exam_id  
       left join user_info u
       on r.uid = u.uid and YEAR(r.submit_time) = 2021
       where i.difficulty = 'hard'and i.tag ='SQL' 
                and u.level = 7 
       group by 1
       having avg(r.score) > '80'
       )
    and year(submit_time) = 2021
    group by r1.uid
)b
left join practice_record p 
on b.uid = p.uid and YEAR(p.submit_time) = 2021
group by b.uid
order by 2 , 3 desc
数据库刷题题解 文章被收录于专栏

数据分析数据库题目练习题解

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-26 16:06
已编辑
快手电商 后端 23k-35k
点赞 评论 收藏
分享
沉淀一会:**圣经 1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
10-30 10:16
南京大学 Java
永远的鹅孝子:给南大✌️跪了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务