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

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

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

select 
    up.device_id,
    university,
    count(qpd.question_id) as question_cnt,
    sum(
        case when qpd.result = 'right' then 1
            else 0
        end) as right_question_cnt
from user_profile up
left join question_practice_detail qpd on up.device_id = qpd.device_id and month(qpd.date) = 8
where university = '复旦大学'
group by up.device_id, up.university
order by up.device_id
  


要记得用left join要不然为某个复旦大学用户在 8 月没有练习记录0的值不会显示;

  • SUM():用于对某一列的数值进行累加求和,常用于统计总金额、总分数等。只适用于数值型字段。会自动忽略 NULL 值。
  • COUNT():用于计数,可以统计行数或某字段的非 NULL 个数。COUNT(*):统计所有行数。COUNT(字段名):只统计该字段非 NULL 的行数。
  • 全部评论

    相关推荐

    joecii:如果没有工资,那可能没有工资是这家公司最小的问题了
    找实习记录
    点赞 评论 收藏
    分享
    评论
    点赞
    收藏
    分享

    创作者周榜

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