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

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

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

这道题在做什么?

  • 统计每个大学的平均做题数量

怎么拆分这个问题?

  • 先根据u, di分组, count(*) as answer_count
SELECT u.university, u.device_id, COUNT(*) AS answer_cnt
FROM user_profile AS u
JOIN question_practice_detail AS q ON u.device_id = q.device_id
GROUP BY u.university, u.device_id
  • 再根据学校分组, sum(answer_count) / count(*)
SELECT t.university, SUM(t.answer_cnt
)/COUNT(*) as avg_answer_cnt
FROM (
SELECT u.university, u.device_id, COUNT(*) AS answer_cnt
FROM user_profile AS u
JOIN question_practice_detail AS q ON u.device_id = q.device_id
GROUP BY u.university, u.device_id
) t
GROUP BY t.university
ORDER BY t.university;

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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