【MySQL】聚合函数

105 阅读3分钟

本人已参与「新人创作礼」活动,一起开启掘金创作之路。

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第23天,点击查看活动详情

目录

今天阿文介绍的内容:

  • 什么是聚合函数
  • COUNT()函数
  • SUM()函数
  • AVG()函数
  • MAX()函数
  • MIN()函数

使用集合函数查询

在MySQL中,提供一些能够对获取的数据进行分析和汇总报告的查询函数,它们的合称为聚合函数

函数作用
AVG()返回某列的平均值
COUNT()返回某列的行数
MAX()返回某列的最大值
MIN()返回某列的最小值
SUM()返回某列值的和

1.COUNT()函数

COUNT()函数使用方法有两种:

  • COUNT(*)计算表中总的函数,不管某列是否有数值或者为空值
  • COUNT(字段名)计算指定列下总的行数,计算时忽略空值的行

1.1代码演示

1.1.1查询employy表中总的行数

SELECT COUNT(*) AS Total FROM employee;

查询结果如下图:

image.png

1.1.2查询employee表id列的总的行数

SELECT COUNT(id) AS idTotal FROM employee;

查询结果如下图:

image.png

提示:两种查询方式对待NULL值是不同的,查询表中所有行数时,是计算NULL值的,而单独查询单列时,是忽略NULL值的。在之前所介绍的分组查询时,COUNT()可以计算每一个分组的数量。

2.SUM()函数

SUM()函数是一个求总和的函数,返回指定列值的总和。

2.1代码演示

2.1.1查询employee表salary列的总数

SELECT SUM(salary) AS Total FROM employee;

查询结果如下图:

image.png

2.1.2与GROUP BY一起使用

SELECT deptId,SUM(salary) AS Total FROM employee GROUP BY deptId;

查询结果如下图:

image.png 与GROUP BY一起使用时,SUM()函数返回的是每组salary的总和。

提示: SUM()函数在计算时,忽略列值为NULL的行

3.AVG()函数

AVG()函数是一个求指定列数据的平均值。

3.1代码演示

3.1.1查询employee表salary列的平均值

SELECT AVG(salary) AS Average FROM employee; 

查询结果如下图:

image.png

3.1.2与GROUP BY一起使用

SELECT deptId,AVG(salary) AS Average FROM employee GROUP BY deptId; 

查询结果如下图:

image.png 与GROUP BY一起使用时,AVG()函数返回的是每组salary的平均值。

提示: AVG()函数使用时只能对一列进行求平均,如需要得到多个列的多个平均值,需要在每一列上使用AVG()函数。

4.MAX()函数

MAX()函数是返回指定列中的最大值。

4.1代码演示

4.1.1查询employee表中salary列的最大值

SELECT MAX(salary) FROM employee;

查询结果如图:

image.png

4.1.2与GROUP BY一起使用

SELECT deptId,MAX(salary) AS MaxSalary FROM employee GROUP BY deptId;

查询结果如图:

image.png 在GROUP BY一起使用时,MAX()函数返回的是每组salary的最大值。

提示:MAX()函数不仅可以用来返回最大的列值和日期值,还可以返回字符类型的最大值。字符类型比较按照ASCII码值的大小比较。

5.MIN()

MIN()函数是返回指定列中的最大值。

5.1代码演示

5.1.1查询employee表中salary列的最大值

SELECT MIN(salary) FROM employee;

查询结果如图:

image.png

5.1.2与GROUP BY一起使用

SELECT deptId,MIN(salary) AS MaxSalary FROM employee GROUP BY deptId;

查询结果如图:

image.png 在GROUP BY一起使用时,MIN()函数返回的是每组salary的最小值。

提示:MIN()函数与MAX()函数类似,不仅适用于查找数值类型,也可应用于字符类型。


总结

  • MySQL提供了多种聚合供我们使用,使得我们可以完成各种操作,并且常与GROUP BY关键字一起使用

好了,今天阿文就介绍到这了... byebye

2969F3EA.gif