题意解读

营想要了解每个学校答过题的用户平均答题数量情况,请你取出数据。

  • 每个学校:对学校进行分组,group by university
  • 平均答题数量:每个学校答题总数 除以 该学校答题的用户数(即总人数)

问题细节

  1. 两张表进行关联查询 使用 join,根据 device_id 条件
  2. 每个学校答题总数 count(q.question_id)
  3. 学校答题的用户数(即总人数)count(distinct(device_id))
  4. 函数 distinct 表示去重,如:一个人答过3道题,表连接后会显示三条记录,统计人数应为1,所以需要进行去重

完整SQL

	select
    u.university,
    count(q.question_id) / count(distinct(u.device_id))
from
    user_profile u
    join question_practice_detail q on u.device_id = q.device_id
group by u.university