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