with t as (
    select a.device_id,university,b.question_id,result,difficult_level
    from  user_profile a
    join question_practice_detail b on a.device_id=b.device_id
    join question_detail c on b.question_id = c.question_id
    where university = "浙江大学"
)

select 
        difficult_level,
        round(sum(if(result="right",1,0))/count(*),4) as correct_rate
from t 
group by difficult_level
order by correct_rate