select qd.difficult_level,
#正确率是答正确的题/总题数
sum(if(result='right',1,0))/count(qpd.question_id) as correct_rate
from user_profile as up

inner join question_practice_detail as qpd
on up.device_id = qpd.device_id and up.university = '浙江大学'

inner join question_detail as qd
on qpd.question_id = qd.question_id
#基本的准备已做好,接下来开始解题

group by qd.difficult_level
order by correct_rate asc

大部分思路都对上了。我发现自己join的概念还是不清晰,时常就用错了