select t.university,t2.difficult_level,
round(count(t1.question_id)/count(distinct t1.device_id),4) as avg_answer_cnt
from user_profile t
    inner join question_practice_detail t1 on t.device_id= t1.device_id
    inner join question_detail t2 on t1.question_id = t2.question_id
group by t.university,t2.difficult_level
order by t.university desc 

这道题的代码量一下就上来了。
这里涉及到多表链接。
其实本质和两表链接没有不同。哪个表和哪个表有关系就用哪个。

建议大家使用 inner join on 标准的表连接方式。这样逻辑更清晰。

代码最后记得加入按学校倒叙排列。