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

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

https://www.nowcoder.com/practice/d8a4f7b1ded04948b5435a45f03ead8c

SELECT
    qd.difficult_level,
    ROUND(
        sum(IF(qpd.result = 'right', 1, 0)) / count(qpd.result),
        4
    ) correct_rate
    -- 计算正确题目数时不可用count(),表达式(qpd.result = 'right')返回的是布尔类型 '0' or '1'而count则会统计所有非null的值 包括布尔类型
FROM
    user_profile up
    LEFT JOIN question_practice_detail qpd ON up.device_id = qpd.device_id
    LEFT JOIN question_detail qd ON qpd.question_id = qd.question_id
WHERE
    university = '浙江大学' and qd.difficult_level is not null 
	-- 我的左连接会导致没有匹配到的值会为空,从而导致有一个难度为null 的问题存在且正确率也为 null
GROUP BY
    qd.difficult_level
order by 
    correct_rate 

#笔试#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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