select difficult_level, sum(case when result = 'right' then 1 else 0 end) / count(qpd.question_id) as correct_rate
from question_practice_detail qpd
left join user_profile u on u.device_id = qpd.device_id
left join question_detail qd on qpd.question_id = qd.question_id
where university = '浙江大学'
group by difficult_level
order by correct_rate