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

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

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

select  
   university,
   count(question_id) / count(distinct qpd.device_id) as avg_answer_cnt
from user_profile as up
right join question_practice_detail as qpd on up.device_id = qpd.device_id
group by university
order by university asc

右连接

题目中显示,“看到答过题目”的用户,就需要联想到右连接,然后看到用户的平均答题数就需要联想到分组

distinct去除重复答题的用户

COUNT(DISTINCT(q.device_id))就是取出答过题目的去除重复的用户数量

COUNT(q.question_id)就是答过题目的总用户总数量,

COUNT(q.question_id)/COUNT(DISTINCT(q.device_id))就是答过题的用户的平均答题数

sql练习 文章被收录于专栏

记录练习过程

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务