题解 | 浙大不同难度题目的正确率
浙大不同难度题目的正确率
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
#笔试#