题解 | 浙大不同难度题目的正确率

select
    difficult_level,
    sum(
        case
            when result = 'right' then 1
            else 0
        end
    ) / count(result) correct_rate
from
    question_practice_detail qpd
    left join user_profile u on qpd.device_id = u.device_id
    left join question_detail qd on qpd.question_id = qd.question_id
where
    university = '浙江大学'
group by
    difficult_level
order by
    correct_rate

  • 通过 LEFT JOIN 连接三张表:question_practice_detail(练习详情表)、user_profile(用户信息表)和 question_detail(题目详情表)。
  • 使用 WHERE 子句筛选出 university 为 ' 浙江大学 ' 的记录。
  • difficult_level 进行分组。
  • 在每个分组内,使用 CASE WHEN 语句统计回答正确的题目数量,然后除以总答题数量,得到正确率。
  • 最后按正确率对结果进行排序。
  • 全部评论

    相关推荐

    不愿透露姓名的神秘牛友
    昨天 17:30
    找实习找着找着就要进入7月了,马上秋招也要开始了,找实习还有意义吗?
    绝迹的星:有面就面, 没面上就当日薪4位数大佬免费培训, 面上了再考虑要不要实习
    点赞 评论 收藏
    分享
    后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
    点赞 评论 收藏
    分享
    评论
    点赞
    收藏
    分享

    创作者周榜

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