1. COUNT:计算表中的记录数。 示例:`SELECT COUNT FROM 表名;`

2. SUM:计算一列的总和。 示例:`SELECT SUM FROM 表名;`

3. AVG:计算一列的平均值。 示例:`SELECT AVG FROM 表名;`

4. MAX:返回一列中的最大值。 示例:`SELECT MAX FROM 表名;`

5. MIN:返回一列中的最小值。 示例:`SELECT MIN FROM 表名;`

6. GROUP_CONCAT:将分组后的多个列值连接成一个字符串。 示例:`SELECT GROUP_CONCAT FROM 表名 GROUP BY 列名;`

7. GROUP BY:与聚合函数一起使用,根据指定的列对结果进行分组。 示例:`SELECT 列名, COUNT FROM 表名 GROUP BY 列名;`

8. HAVING:用于过滤分组后的结果。 示例:`SELECT 列名, COUNT FROM 表名 GROUP BY 列名 HAVING COUNT > 1;`

9. COALESCE:返回列表中的第一个非NULL值。 示例:`SELECT COALESCE AS 结果;`

10. IFNULL:与COALESCE类似,但只接受两个参数。 示例:`SELECT IFNULL AS 结果;`

11. ROUND:四舍五入到指定的小数位数。 示例:`SELECT ROUND AS 结果;`

12. CONCAT:连接两个或多个字符串。 示例:`SELECT CONCAT AS 结果;`

13. SUBSTRING:提取字符串的一部分。 示例:`SELECT SUBSTRING AS 结果;`

14. DATE_FORMAT:格式化日期。 示例:`SELECT DATE_FORMAT AS 结果;`

15. NOW:返回当前的日期和时间。 示例:`SELECT NOW AS 结果;`

16. CURDATE:返回当前的日期。 示例:`SELECT CURDATE AS 结果;`

17. CURTIME:返回当前的时间。 示例:`SELECT CURTIME AS 结果;`

18. DATEDIFF:计算两个日期之间的天数。 示例:`SELECT DATEDIFF AS 结果;`

19. WEEKDAY:返回日期是星期几(0=星期一,1=星期二,以此类推)。 示例:`SELECT WEEKDAY AS 结果;`

20. DAYOFWEEK:返回日期是星期几(1=星期日,2=星期一,以此类推)。 示例:`SELECT DAYOFWEEK AS 结果;`

这些函数在数据分析、报告生成和业务逻辑处理中非常有用。使用这些函数时,请确保理解它们的行为和可能的副作用,以便正确地应用它们。

一、聚合函数的分类

MySQL中的聚合函数主要分为以下几类:

1. 计数函数:用于计算数据集中的记录数。

2. 求和函数:用于计算数据集中的数值总和。

3. 最大值和最小值函数:用于找出数据集中的最大值和最小值。

4. 平均值函数:用于计算数据集中的平均值。

5. 分组函数:用于对数据进行分组,并返回每个分组的结果。

二、常用聚合函数介绍

1. COUNT() 函数

COUNT() 函数用于计算数据集中的记录数。它通常用于统计表中的行数,也可以用于统计满足特定条件的记录数。

```sql

SELECT COUNT() FROM 表名;

SELECT COUNT(列名) FROM 表名;

2. SUM() 函数

SUM() 函数用于计算数据集中的数值总和。它通常用于计算数值列的总和。

```sql

SELECT SUM(列名) FROM 表名;

3. MAX() 和 MIN() 函数

MAX() 函数用于找出数据集中的最大值,而MIN() 函数用于找出数据集中的最小值。

```sql

SELECT MAX(列名) FROM 表名;

SELECT MIN(列名) FROM 表名;

4. AVG() 函数

AVG() 函数用于计算数据集中的平均值。它通常用于计算数值列的平均值。

```sql

SELECT AVG(列名) FROM 表名;

5. GROUP_CONCAT() 函数

GROUP_CONCAT() 函数用于将数据集中的行连接成一个字符串。它通常用于将多个值合并为一个字符串,并可以指定分隔符。

```sql

SELECT GROUP_CONCAT(列名 SEPARATOR '分隔符') FROM 表名;

三、聚合函数在实际应用中的使用

1. 统计表中的记录数

使用COUNT() 函数可以轻松统计表中的记录数。

```sql

SELECT COUNT() FROM users;

2. 计算数值列的总和

使用SUM() 函数可以计算数值列的总和。

```sql

SELECT SUM(salary) FROM employees;

3. 找出最大值和最小值

使用MAX() 和 MIN() 函数可以找出数据集中的最大值和最小值。

```sql

SELECT MAX(age) FROM customers;

SELECT MIN(age) FROM customers;

4. 计算平均值

使用AVG() 函数可以计算数值列的平均值。

```sql

SELECT AVG(salary) FROM employees;

5. 合并多个值

使用GROUP_CONCAT() 函数可以将多个值合并为一个字符串。

```sql

SELECT GROUP_CONCAT(name SEPARATOR ', ') FROM customers;