题解 | #统计复旦用户8月练题情况#
统计复旦用户8月练题情况
https://www.nowcoder.com/practice/53235096538a456b9220fce120c062b3
--过滤条件university = '复旦大学';; date 字段为 NULL 或者 date 字段的月份为 8
--计算: count(b.question_id) 个人答题数量;;count(result = "right"):回答对的数量
--设备号对于用户是唯一的,对于问题是多对的,所有可以用device_id分组
详细代码如下:
SELECT
a.device_id,
university,
count(b.question_id) as question_cnt,
count(case when result = "right" then 1 else null end ) as right_question_cnt
FROM
user_profile a
LEFT JOIN question_practice_detail b ON a.device_id = b.device_id
WHERE
a.university = '复旦大学'
and ( date IS NULL OR MONTH (date) = '08' )
group by
a.device_id