select d.difficult_level, sum(if (c.result = "right", 1, 0)) / count(c.device_id) as correct_rate # avg(if (c.result = "right", 1, 0)) as correct_rate from ( select a.* from question_practice_detail a left join user_profile b on a.device_id = b.device_id where b.university = "浙江大学" ) as c left join question_detail as d on c.question_id = d.question_id group by d.difficult_level order by correct_rate