前言
SQL中的聚合函数是对一组值执行计算,并返回单个值的函数。
常用的聚合函数有:
函数 | 作用 |
---|---|
AVG() | 求平均值 |
MAX() | 求最大值 |
MIN() | 求最小值 |
SUM() | 求和 |
COUNT() | 计数 |
AVG()
求数值列的平均值。
具体计算过程:其通过对表中行数计数并计算特定数值列的列值之和,求得该列的平均值。
语法:
SELECT AVG(`column_name`)
FROM `table_name`;
当参数 column_name
列中的数据均为空时,结果会返回 NULL。
MAX()
返回指定列中的最大值。
语法:
SELECT MAX(`column_name`)
FROM `table_name`;
当参数 column_name
列中的数据均为空时,结果会返回 NULL。
MIN()
返回指定列中的最小值。
语法
SELECT MIN(`column_name`)
FROM `table_name`;
当参数 column_name
列中的数据均为空时,结果会返回 NULL。
SUM()
统计数值列的总数并返回其值。
语法
SELECT SUM(`column_name`)
FROM `table_name`;
当参数 column_name
列中的数据均为空时,结果会返回 NULL。
COUNT()
COUNT() 函数用于计数,可利用其确定表中行的数目或者符合特定条件的行的数目。当COUNT() 中的参数不同时,其的用途也是有明显的不同的,主要可分为以下三种情况:
- COUNT(column_name): 用于计算表中指定列的非空值的数量。
- COUNT(*) :用于计算表中所有行的数量,包括空值和非空值。
- COUNT(DISTINCT column_name) :用于计算表中指定列的不同值的数量。
❗ 注意: COUNT(column_name) 与 COUNT(*) 的区别
COUNT(column_name) 中,如果
column_name
字段中的值为 NULL,则计数不会增加,而如果字段值为空字符串""
,则字段值会加 1COUNT(*) 中,除非整个记录全为 NULL,则计数不会增加,如果存在某一个记录不为 NULL,或者为空字符串"",计数值都会加 1。