小村村长

导航

Mysql常用聚合函数

1.聚合函数又叫组函数,通常是对表中的数据进行统计和计算,一般结合分组(group by)来进行使用,用于统计和计算分组数据

常用的聚合函数:

  • 1.count(col):表示指定列的总行数

  • 2.max(col):表示求指定列的最大值

  • 3.min(col):表示求指定列的最小值

  • 4.sum(col):表示求指定列的和

  • 5.avg(col):表示求指定列的平均数

2.求总行数

--返回非null数据的总行数
select count(height) from students;
--返回总行数,包含null值记录,也计算在内
select  count(*) from students
--返回总行数,包含null值记录,也计算在内
select  count(1) from students

count(*)和count(1)没啥区别,官方推荐count(*),避开所有麻烦 ; 实践是检验整理的唯一标准
https://zhuanlan.zhihu.com/p/28397595

3.求最大值(查询出所有值,并且过滤出最大值)

--求出男生编号最大值
select max(id) from  students where gender =2

4.求最小值(查询出所有值,并且过滤出最小值)

--求出男生编号最小值
select min(id) from  students where gender =2

5.求和(查询出所有值,并且对他们求和)

--查询男生的总身高
select sum(height)  from  students where gender=2

6.求平均值(查询出所有值(忽略了null值),并且对他们取平均值)

--查询男生的平均身高,忽略null值
select avg(height) from students where gender=2
select sum(height)/count(*) from students where gender=2
--查询男生的平均身高,包含null值,如果为null,就给他赋值0;
select avg(ifnull(height,0)) from students where gender=2;

说明

  • ifnull函数:表示判断指定字段的值是否为null,如果为null,那么就使用自己提供的值

7.聚合函数的特点

  • 聚合函数默认忽略字段为null的记录,要想列值为null的记录也参与计算,必须使用ifnull函数对null值做替换;

8.小结:

  • 1.count(col):表示指定列的总行数

  • 2.max(col):表示求指定列的最大值

  • 3.min(col):表示求指定列的最小值

  • 4.sum(col):表示求指定列的和

  • 5.avg(col):表示求指定列的平均数

posted on 2022-08-29 10:41  小村村长  阅读(620)  评论(0编辑  收藏  举报