题解 | #分组计算练习题#

分组计算练习题

https://www.nowcoder.com/practice/009d8067d2df47fea429afe2e7b9de45?tpId=199&tqId=1975670&sourceUrl=%2Fexam%2Foj%3FquestionJobId%3D10%26subTabName%3Donline_coding_page

题目分析

我们需要从 user_profile 表中提取以下信息:

  • 每个学校每种性别的用户数量。
  • 每个学校每种性别的30天内平均活跃天数。
  • 每个学校每种性别的平均发帖数量。

解题思路

  1. 分组统计:根据 genderuniversity 进行分组。
  2. 计算用户数量:使用 COUNT() 函数计算每组的用户数量。
  3. 计算平均活跃天数和发帖数量:使用 AVG() 函数计算每组的平均活跃天数和发帖数量,并使用 ROUND() 函数保留到小数点后1位。
  4. **使用ORDERgenderuniversity 升序排列结果。

SQL 查询

以下是实现上述思路的 SQL 查询:

SELECT 
    gender, 
    university, 
    COUNT(*) AS user_num, 
    ROUND(AVG(active_days_within_30), 1) AS avg_active_day, 
    ROUND(AVG(question_cnt), 1) AS avg_question_cnt
FROM 
    user_profile
GROUP BY 
    gender, university
ORDER BY 
    gender, university;
全部评论
为什么最后一定要排序,题目也没要求排序
1 回复 分享
发布于 12-10 18:11 北京
同问,为什么要排序呀
点赞 回复 分享
发布于 12-16 21:01 上海
其实没有太理解,为什么一定要分组统计呢?直接统计不行吗
点赞 回复 分享
发布于 12-12 11:07 重庆
为什么order by 那里写了两次?
点赞 回复 分享
发布于 11-02 22:24 湖南

相关推荐

牛客nb666号:见天才的门槛罢了查看图片
点赞 评论 收藏
分享
11-06 16:50
门头沟学院 Java
用微笑面对困难:word打字比赛二等奖的我,也要来凑合凑合
点赞 评论 收藏
分享
评论
19
1
分享

创作者周榜

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