题解 | #统计复旦用户8月练题情况#
统计复旦用户8月练题情况
https://www.nowcoder.com/practice/53235096538a456b9220fce120c062b3
select up.device_id, university, sum(if(month(date)='08',1,0)) as question_cnt, sum(if(month(date)='08',if(result='right',1,0),0)) as right_question_cnt from user_profile up left join question_practice_detail qp using(device_id) where university='复旦大学' group by up.device_id
本题需要注意的点在于两点,
一:如果直接将month(date)='08'加在条件里,则会将部分在八月份没有练习记录的复旦大学用户信息mis掉
二:本题需使用左连接,直接使用内连接同样会将八月份没有练习记录的部分复旦大学用户mis掉