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

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

https://www.nowcoder.com/practice/88aa923a9a674253b861a8fa56bac8e5

select university,count(qp.question_id)/count(distinct up.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
order by university

一、使用内连接,是因为里面有个复旦大学有个用户并没有参与答题,不能算在内,所以使用内连接

二、题目中是计算每个学校答过题的用户,所以要使用group by 对学校进行分组

三、排序也是根据题目要求,对学校进行升序排列

四、计算用户的平均答题数,我们已经根据学校进行分组了,接下来就是每个学校内计算平均答题数了,计算方式为:答题的数量/答题的人数,答题的数量直接用count(question_id)得出,但是答题的人数有重复的,需要去重,固用count(distinct device_id)

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务