题意解读
营想要了解每个学校答过题的用户平均答题数量情况,请你取出数据。
- 每个学校:对学校进行分组,
group by university
- 平均答题数量:每个学校答题总数 除以 该学校答题的用户数(即总人数)
问题细节
- 两张表进行关联查询 使用
join
,根据device_id
条件 - 每个学校答题总数
count(q.question_id)
- 学校答题的用户数(即总人数)
count(distinct(device_id))
- 函数
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