本文共 1452 字,大约阅读时间需要 4 分钟。
聚合函数,又称组函数,主要用于对数据库中的数据进行统计和计算,通常与分组操作结合使用,用于对分组数据进行分析。以下将从基础到应用详细介绍聚合函数的使用方法。
要获取数据库中非空记录的总数,可以使用 COUNT() 函数。以下是两种常见用法:
SELECT COUNT(height) FROM students;
SELECT COUNT(*) FROM students;
最大值和最小值的计算可以通过 MAX() 和 MIN() 函数实现。以下是示例:
SELECT MAX(id) FROM students WHERE gender = 2;
SELECT MIN(height) FROM students WHERE gender = 1;
SUM() 函数用于对某个字段的所有值求和。以下是示例:
SELECT SUM(height) FROM students WHERE gender = 1;
AVG() 函数用于计算平均值,但需要注意的是,它默认会忽略 NULL 值。如果希望包含 NULL 值进行计算,需使用 IFNULL() 函数替换 NULL 值。以下是示例:
SELECT AVG(height) FROM students WHERE gender = 1;
SELECT AVG(IFNULL(height, 0)) FROM students WHERE gender = 1;
以下是常见聚合函数及其作用:
| 函数名称 | 描述 |
|---|---|
| AVG() | 计算字段的平均值。 |
| BIT_AND() | 返回字段的按位与结果。 |
| BIT_OR() | 返回字段的按位或结果。 |
| BIT_XOR() | 返回字段的按位异或结果。 |
| COUNT() | 返回满足条件的行数。 |
| COUNT(DISTINCT) | 返回不同值的数量。 |
| GROUP_CONCAT() | 将分组后的字段进行拼接。 |
| JSON_ARRAYAGG() | 将结果集转换为 JSON 数组。 |
| JSON_OBJECTAGG() | 将结果集转换为 JSON 对象。 |
| MAX() | 返回字段的最大值。 |
| MIN() | 返回字段的最小值。 |
| STD() | 返回字段的标准差。 |
| STDDEV() | 返回字段的标准差。 |
| STDDEV_POP() | 返回字段的总体标准差。 |
| STDDEV_SAMP() | 返回字段的样本标准差。 |
| SUM() | 返回字段的总和。 |
| VAR_POP() | 返回字段的总体方差。 |
| VAR_SAMP() | 返回字段的样本方差。 |
| VARIANCE() | 返回字段的总体方差。 |
默认忽略 NULL:聚合函数默认会忽略 NULL 值。如果需要包含 NULL 值参与计算,需使用 IFNULL() 对 NULL 替换。
分组操作:在使用聚合函数时,通常会配合 GROUP BY 使用,用于对数据进行分组后再进行聚合计算。
数据类型:不同数据库系统对聚合函数的支持可能存在差异,需根据具体数据库类型选择合适的函数。
通过以上方法,开发者可以根据需求灵活运用聚合函数对数据进行统计分析和计算。
转载地址:http://vzrfk.baihongyu.com/