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

分组计算练习题

http://www.nowcoder.com/practice/009d8067d2df47fea429afe2e7b9de45

题意明确:

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


问题分解:

  • 限定条件:无;
  • 每个学校每种性别:按学校和性别分组:group by gender, university
  • 用户数:count(device_id)
  • 30天内平均活跃天数:avg(active_days_within_30)
  • 平均发帖数量:avg(question_cnt)

细节问题:

  • 表头重命名:as
  • 注意输出顺序,与示例保持一致

完整代码:

select 
    gender, university,
    count(device_id) as user_num,
    avg(active_days_within_30) as avg_active_days,
    avg(question_cnt) as avg_question_cnt
from user_profile
group by gender, university
全部评论
两个平均值不用保留一位小数吗?是不是加上round()更好?
28 回复 分享
发布于 2021-10-29 09:45
SELECT gender,university, COUNT(device_id) 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;
26 回复 分享
发布于 2021-10-30 20:08
求解答count(*),为啥填*能出正确的结果。这个*被怎么计算了呢?
点赞 回复 分享
发布于 2022-03-06 23:29
COUNT(device_id)为什么不distinct呢,
6 回复 分享
发布于 2021-11-14 15:24
select gender,university,count(id) user_num, cast(round(avg(active_days_within_30),1) as decimal(10,1)) avg_active_day, cast(round(avg(question_cnt),1) as decimal(10,1)) avg_question_cnt from user_profile group by gender,university;
4 回复 分享
发布于 2022-06-04 17:39
count(gender)才是最完美解释
3 回复 分享
发布于 2024-03-02 17:03 河南
不是有要求保留小数点一位数么 为什么我加上round以后会报错呢
3 回复 分享
发布于 2022-11-14 00:03 吉林
大佬为什么select 学校,性别就报错,select 性别,学校就不报错
2 回复 分享
发布于 2022-03-30 08:57
不能count device_id吧,count id不是更好吗,万一device_id有重复的
2 回复 分享
发布于 2022-03-29 00:42
题目是说的每个学校的每一种性别。group by 的地方应该写成 group by university,sex会更好一些。
2 回复 分享
发布于 2021-12-03 23:24
评估区没有一个代码能正常运行的,全是错误
1 回复 分享
发布于 2024-12-24 15:17 河南
为什么我复制作者的代码,也会出现答案错误,对比输出,答案都是对的,但就是和预期的顺序不一样?
1 回复 分享
发布于 2024-11-24 16:06 湖北
不是四舍五入吗,为什么不加round函数
1 回复 分享
发布于 2023-03-11 09:25 湖南
计算数目,为什么是count device 为什么不直接count gender,这个也可以的吧
1 回复 分享
发布于 2022-11-17 20:58 河北
device_id 这不是设备ID吗 用户ID 不是直接ID吗
1 回复 分享
发布于 2022-10-27 20:04 上海
gender university 换了也对啊
1 回复 分享
发布于 2022-10-07 19:25 四川
应该是distinct去重的原因,用户每活跃一次,就计数一次,去重之后就只能记录这个设备的id一次
1 回复 分享
发布于 2022-09-06 14:19 北京
select gender, university, count(gender) user_num, ROUND(avg(active_days_within_30),1) avg_active_day, ROUND(avg(question_cnt),1) avg_question_cnt from user_profile group by gender,university
1 回复 分享
发布于 2022-02-27 00:10
不是最后还要order by一下吗?
点赞 回复 分享
发布于 04-27 12:13 广东
就得用count(gender)
点赞 回复 分享
发布于 04-21 16:28 广东

相关推荐

05-16 09:20
已编辑
中国民航大学 Java
点赞 评论 收藏
分享
05-20 02:34
已编辑
华中科技大学 游戏策划
ResourceUtilization:你是我见过最美丽的牛客女孩你的眼睛里面有星星
投递腾讯等公司6个岗位
点赞 评论 收藏
分享
评论
499
70
分享

创作者周榜

更多
牛客网
牛客企业服务