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

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

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

select up.device_id,university,
    count(question_id) as question_cnt,
    count(if(qpd.result='right', 1, null)) as right_question_cnt
from user_profile as up

left join question_practice_detail as qpd
  on qpd.device_id = up.device_id and month(qpd.date) = 8

where up.university = '复旦大学'
group by up.device_id

这个代码是从讨论学来的,我尝试过

count(if(qpd.result='right', 1, null))

和sum(if(qpd.result='right', 1, 0))

两个都可以运行。我的理解是,count会把空值null直接按0算人头,而sum需要把空值null赋值为0后才能按照数值进行计算。

全部评论

相关推荐

05-22 09:23
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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