题解 | 统计每个学校的答过题的用户的平均答题数
统计每个学校的答过题的用户的平均答题数
https://www.nowcoder.com/practice/88aa923a9a674253b861a8fa56bac8e5
select university, round(count(question_id)/count(distinct(user_profile.device_id)),4) avg_answer_cnt from user_profile inner join question_practice_detail on user_profile.device_id=question_practice_detail.device_id group by university order by university
distinct和inner join都很关键
distinct去重,除去重复的device_id,否则平均答题数会显示为1
inner join 内连接只会连接两个表互相匹配上的行,对于表1中没答题的device_id,表2中是没有对应行的,所以内连接的时候就去掉了。同理,本题右连接也能对(因为本题表2数据都是有用需要的),如果改为左连接left join则会显示错误。
