题解 | 统计复旦用户8月练题情况

统计复旦用户8月练题情况

https://www.nowcoder.com/practice/53235096538a456b9220fce120c062b3

SELECT
    a.device_id,
    a.university,
    SUM(CASE WHEN b.question_id IS NULL THEN 0 ELSE 1 END) question_cnt,
    SUM(CASE WHEN b.result = 'right' THEN 1 ELSE 0 END) right_question_cnt
FROM
    user_profile a
LEFT JOIN question_practice_detail b ON a.device_id = b.device_id AND b.date LIKE '2021-08%'
where a.university = '复旦大学'
GROUP BY
    a.device_id, a.university;

考查的点比较多

1、8月份没有练习过的用户也是显示,要使用LEFT JOIN,保持用户信息在

2、汇总做题数量,要使用分组求和

3、没有做练习过的要显示数据0,考查的是Case when语句

不管是用子查询分组后再left join,还是直接left join,应该都要使用到以上的知识点

全部评论

相关推荐

12-24 20:49
武汉大学 Java
点赞 评论 收藏
分享
11-03 18:50
门头沟学院 Java
迷茫的大四🐶:问就是马上到,一周五天,6个月以上,全国可飞
点赞 评论 收藏
分享
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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