题解 | #浙大不同难度题目的正确率#
浙大不同难度题目的正确率
https://www.nowcoder.com/practice/d8a4f7b1ded04948b5435a45f03ead8c
/* 查询目标:统计浙江大学用户在不同难度题目下的答题正确率,并按正确率升序输出结果。 */ -- 主查询开始,选择难度级别和计算的正确率 SELECT -- 难度级别 qd.difficult_level, -- 计算正确率:正确回答的数量除以总回答的数量 SUM(CASE WHEN qpd.result = 'right' THEN 1 ELSE 0 END) / COUNT(qpd.question_id) AS correct_rate FROM -- 问题练习详情表 question_practice_detail qpd -- 内连接用户信息表,以获取用户所在大学信息 INNER JOIN user_profile up ON qpd.device_id = up.device_id -- 内连接问题详情表,以获取问题难度 INNER JOIN question_detail qd ON qpd.question_id = qd.question_id WHERE -- 限定条件:只考虑浙江大学的用户 up.university = '浙江大学' -- 按难度级别分组,以便独立计算每个难度的正确率 GROUP BY qd.difficult_level -- 结果按正确率升序排列 ORDER BY correct_rate ASC; -- 查询结束