select qd.difficult_level,
sum(if(qpd.result='right',1,0))/count(qpd.question_id) as correct_rate
from question_practice_detail qpd left join  user_profile up  on up.device_id=qpd.device_id
left join question_detail qd  on qpd.question_id=qd.question_id 
where up.university='浙江大学' 
group by qd.difficult_level
order by correct_rate

需求分析:指定学校不同难度正确率问题。

解决思路:连接三个表,注意事项 使用left join时,确保主表中数据是能够匹配到连接的其他表的。否则出现查询出null的情况导致错误。