题解 | #统计复旦用户8月练题情况#
统计复旦用户8月练题情况
https://www.nowcoder.com/practice/53235096538a456b9220fce120c062b3
select up.device_id,
university,
count(question_id) as question_cnt,
sum(if(result = 'right',1,0))as right_question_cnt
from user_profile up
left join question_practice_detail qpd
using(device_id)
where university = '复旦大学'
and (month(date) = 8
or month(date) is null)
group by up.device_id, university
注意点:
- 正确题目计数,不用count,用sum和if组合
- 因有未答题同学,left join保险
- where筛选月份时,注意增加null条件,避免漏掉未答题同学,用or连接