题解 | SQL35 浙大不同难度题目的正确率
这种联合多张表的写成多表查询比写成子查询的方式更清楚一些。
select
difficult_level,
sum(if(result='right', 1, 0)) / count(qd.question_id) as correct_rate
from user_profile as up
inner join question_practice_detail as qpd
on up.device_id = qpd.device_id
inner join question_detail as qd
on qd.question_id = qpd.question_id
where up.university = '浙江大学'
group by difficult_level
order by correct_rate asc;