题意解读

题目:运营想要计算一些参加了答题的不同学校、不同难度的用户平均答题量

  • 不同学校:根据学校分组,group by university
  • 不同难度:根据难度分组,group by difficult_level

细节问题

平均刷题数 = 当前学校,当前难度下答题总数量 除以 当前难度下答题的人数

即: 答题总数量 ➗ 答题总人数


完整SQL

SELECT
	u.university,
	qd.difficult_level,
	count(qpd.question_id) / count(distinct(u.device_id)) AS avg_answer_cnt 
FROM
	user_profile u
	JOIN question_practice_detail qpd
	JOIN question_detail qd ON u.device_id = qpd.device_id 
	AND qpd.question_id = qd.question_id 
GROUP BY
	u.university,
	qd.difficult_level