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