思路

a. 要求查每一个学校,则通过group by进行分组。

b. 要求查不同难度,则通过group by进行分组。

c. 要求平均答题人数,则使用答题总数/答题人数

d. 要求查询学校、试题难度、平均数,则直接使用三表联查。由于没有提到,如果没有答题的就不显示等问题。这里可以使用inner join或者left join

答案

SELECT 
user_profile.university,
question_detail.difficult_level,
COUNT(question_practice_detail.question_id) / COUNT(DISTINCT question_practice_detail.device_id) 
FROM user_profile
INNER JOIN question_practice_detail
ON user_profile.device_id = question_practice_detail.device_id
INNER JOIN question_detail 
ON question_detail.question_id = question_practice_detail.question_id
GROUP BY user_profile.university,question_detail.difficult_level