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

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

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

题意解读

营想要了解每个学校答过题的用户平均答题数量情况,请你取出数据。

  • 每个学校:对学校进行分组,group by university
  • 平均答题数量:每个学校答题总数 除以 该学校答题的用户数(即总人数)

问题细节

  1. 两张表进行关联查询 使用 join,根据 device_id 条件
  2. 每个学校答题总数 count(q.question_id)
  3. 学校答题的用户数(即总人数)count(distinct(device_id))
  4. 函数 distinct 表示去重,如:一个人答过3道题,表连接后会显示三条记录,统计人数应为1,所以需要进行去重

完整SQL

	select
    u.university,
    count(q.question_id) / count(distinct(u.device_id))
from
    user_profile u
    join question_practice_detail q on u.device_id = q.device_id
group by u.university
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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