要求:

统计每个学校的答过题的用户的平均答题数

思路:

  1. 每个学校: group by university
  2. 答过题的用户: from user_profile inner join question_practice_detail on up.device_id = qp.device_id
  3. 平均答题数: count(qp.result)/ count(distinct qp.device_id) --- 这里必须用distinct, 如果省去,那么同一个ID会被重复count,最终会导致 average 都为 1

实现

select up.university, count(qp.result)/ count(distinct qp.device_id) as avg_answer_cnt from user_profile as up
inner join question_practice_detail as qp
on up.device_id = qp.device_id
group by university