mysql常用的聚合函数、group by 、having

浅学mysql常用的聚合函数、group by 、having的使用

目录

1、AVG() 返回某字段的平均值

2、COUNT()返回对应条件的总数

2.1 从执行结果看 count(*)和count(字段名)和count(1)的区别

3、MAX()返回某列的最大值

4、MIN()返回某列的最小值

5、SUM()返回某列值的和

6、group by 分组查询

7、HAVING


1、AVG() 返回某字段的平均值

例:查询班级表中学生的平均年龄

2、COUNT()返回对应条件的总数

例:查询班里有几个女生

2.1 从执行结果看 count(*)和count(字段名)和count(1)的区别

  • count(*),计算表中总的行数,包括空行
  • count(字段名),计算指定列下总行数,忽略空值的行
  • count(1),计算表中总的行数,包括空行

如下成绩表

  • count(*)总行数包括空行是7

  • count(english)非空值的行数,是5

  • count(1),也是7

3、MAX()返回某列的最大值

例:查询英语分数最高分

4、MIN()返回某列的最小值

例:查询英语分数最低分

5、SUM()返回某列值的和

例:查询班级英语总分

6、group by 分组查询

GROUP BY 语句根据一个或多个列对结果集进行分组,我们通常配合 聚合函数COUNT, SUM, AVG等一起使用。

如下学生表

  • 例:查询每个班级学生的平均年龄

  • 例:统计每个班有几个学生的年龄小于18岁

7、HAVING

HAVING用于分组后的再次筛选

  • 例:查询学生平均年龄大于17岁的班级,并按平均年龄升序排序

        思路

  1. 先分组查每个班学生的平均年龄
  2. 再筛选平均年龄大于17岁的班级
  3. 再按平均年龄升序排序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值