sql查询之聚合函数

专栏目录请点击

简介

  1. 我们常用的聚合函数有sum(累加)/avg(平均值)/max(最大值)/min(最小值)/count(数量)
  2. 一般用作统计使用,又被称为统计函数或者组函数
  3. 他们一般与分组函数一起使用,如果不与函数一起使用的话,整个表就相当于一组
  4. 分组函数都会忽略null值的统计

例子

简单使用

SELECT COUNT(*) FROM `student`; # 7
SELECT SUM(age) FROM `student`; # 148
SELECT MIN(age) FROM `student`; # 12
SELECT MAX(age) FROM `student`; # 30
SELECT AVG(age) FROM `student`; # 21.1429

与distinct一起使用

他会先进行去重,然后进行聚合函数的计算

SELECT SUM(DISTINCT age) FROM `student`;

在这里插入图片描述

与分组函数一起使用

他会统计每组中的数据

SELECT sex,MAX(age) FROM `student`
GROUP BY sex;

在这里插入图片描述

count

  1. COUNT(1),COUNT(*),COUNT(常量),COUNT(主键),COUNT(ROWID),COUNT(非空列):统计结果的行数是表中所有存在的行的总数,包括值为null的行为空行。
  2. COUNT(允许为空列):统计的行数不会包括字段值为null的行。
  3. COUNT(DISTINCT 列名):得到的结果是除去值为null和重复数据后的结果。

查看存储引擎

show variables like '%storage_engine%';

在这里插入图片描述

  1. 在MYISAM引擎下,count(*)的效率较高
  2. 在INNODB引擎下,count(1)count(*)效率差不多,count(*)count(字段)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值