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