题解 | #统计复旦用户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条件中过滤时间:因为这样会将没有答题的学生的信息全部过滤掉

全部评论

相关推荐

点赞 评论 收藏
分享
站队站对牛:还是浙江学校欢迎
投递海康威视等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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