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

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

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

SELECT 
    up.device_id AS "device_id", 
    up.university AS "university",
    COUNT(if(month(qpd.date) = 8,1,null)) AS 'question_cnt',
# 对于count,任何值都会计数,只有null值不会计数    
    COUNT(if(qpd.result = 'right' AND month(qpd.date) = 8 ,1,null)) AS 'right_question_cnt'

FROM user_profile up
LEFT JOIN question_practice_detail qpd
ON up.device_id = qpd.device_id
WHERE up.university = '复旦大学'
GROUP BY up.university, up.device_id;

# 为什么使用左连接:因为有的学生没有答题,也要列出
# 为什么不在where条件中过滤时间:因为这样会将没有答题的学生的信息全部过滤掉

全部评论

相关推荐

不愿透露姓名的神秘牛友
09-19 14:45
点赞 评论 收藏
分享
09-17 11:43
门头沟学院 C++
寄寄寄寄寄寄寄寄
投递腾讯等公司10个岗位
点赞 评论 收藏
分享
08-05 18:14
门头沟学院 Java
小花的沉默:是学历厂没错啊,学历太高了不要
投递小鹏汽车等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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