select up.university,qd.difficult_level, count(qpd.question_id)/count(distinct up.device_id)
from user_profile as up 
inner join question_practice_detail as qpd 
on up.device_id = qpd.device_id
inner join question_detail as qd 
on qpd.question_id = qd.question_id 
group by up.university,qd.difficult_level

1、根据学校进行分组后,再根据学校下面的难度等级进行分组

2、然后再计算不同学校的不同难度等级的每个用户的平均做题数

3、user_profile和question_practice_detail两个表必须使用内连接,因为user_profile里面有人未答题,不能算在平均数里面,

而question_detail可以使用内连接也可以使用左连接,数据相同