题解 | #统计每个学校的答过题的用户的平均答题数#
统计每个学校的答过题的用户的平均答题数
http://www.nowcoder.com/practice/88aa923a9a674253b861a8fa56bac8e5
要求:
统计每个学校的答过题的用户的平均答题数
思路:
- 每个学校: group by university
- 答过题的用户: from user_profile inner join question_practice_detail on up.device_id = qp.device_id
- 平均答题数: 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