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

分组计算练习题

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

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
  • 条件:无;
  • 每个学校每种性别:

先按学校分组,之后再按性别分组 ;顺序不能倒过来,倒过来就变成了先按性别分好组之后,再按学校分组了,所以应该是:group by gender university,gender;之后不用再用having了

  • 用户数:

使用聚合函数count(id),id是唯一标识,应该使用id,虽然使用其他结果没有错,但是在实际项目开发中的大量数据下,会发生误差。

  • 30天内平均活跃天数:

使用聚合函数avg(active_days_within_30)

  • 平均发帖数量: 使用聚合函数avg(question_cnt)

tips:分组字段不能是聚合函数;

sql练习 文章被收录于专栏

记录练习过程

全部评论

相关推荐

06-28 22:48
已编辑
广东金融学院 Java
小浪_Coding:学院本+这俩项目不是buff叠满了嘛
点赞 评论 收藏
分享
机械打工仔:很强了,直接开投就好了,求职意向不用专门写出来,你给哪个岗投简历你的求职意向就是哪个
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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