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

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

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

select up.device_id,
       up.university,
       count(*)                                          as question_cnt,
       sum(case when result = 'right' then 1 else 0 end) as right_question_cnt
from question_practice_detail qpd
         left join (select *
                    from user_profile up
                    where up.university = '复旦大学') up on qpd.device_id = up.device_id
where date_format(qpd.date, '%Y-%m') = '2021-08'
  and up.university = '复旦大学'
group by up.device_id
union
select up.device_id, up.university, 0 as question_cnt, 0 as right_question_cnt
from user_profile up
where up.device_id not in (select up.device_id
                           from user_profile up
                                    left join question_practice_detail qpd on up.device_id = qpd.device_id
                           where up.university = '复旦大学'
                             and date_format(qpd.date, '%Y-%m') = '2021-08'
                           group by up.device_id)
  and up.university = '复旦大学';

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务