题解 | #统计每个学校的答过题的用户的平均答题数#
统计每个学校的答过题的用户的平均答题数
https://www.nowcoder.com/practice/88aa923a9a674253b861a8fa56bac8e5
select u.university,count(q.question_id)/count(distinct q.device_id) as avg_answer_cnt from user_profile u join question_practice_detail q on u.device_id=q.device_id group by u.university order by u.university asc
知识点:
1.多表联查
2.group by 语句和order by语句的使用
注意事项:count(q.question_id)和group by u.university就是按照学校来统计答题的总数,后面的count(distinct q.device_id)这一句,为什么要从question_practice_detail中去去重取呢?而不是从user_profile中直接取device_id?因为后者可能存在没有答题的device_id,所以必须从已经答题的表中去取