题解 | #浙大不同难度题目的正确率#
浙大不同难度题目的正确率
http://www.nowcoder.com/practice/d8a4f7b1ded04948b5435a45f03ead8c
SELECT qd.difficult_level, count( IF ( result = 'right', qt.question_id, NULL )) / count( qt.question_id ) AS correct_rate FROM question_practice_detail qt LEFT JOIN user_profile ut ON qt.device_id = ut.device_id LEFT JOIN question_detail qd ON qd.question_id = qt.question_id WHERE university = '浙江大学' GROUP BY qd.difficult_level ORDER BY correct_rate
此题的关键为if表达式,过滤并统计出回答正确的题目个数,然后除以题目总数,即为正确率。 至于难度等级,可以适用 Group By语句和LeftJoin关联查询即可实现。 另外,关联查询的时候要确定好那个是主表。