SQL中聚合函数如COUNT、SUM、AVG、MAX、MIN用于统计计算,常与GROUP BY和HAVING配合使用;2. COUNT(*)统计所有行,COUNT(列名)忽略NULL,SUM求和、AVG求平均值均忽略NULL;3. MAX和MIN返回最大最小值;4. 使用GROUP BY按列分组统计,HAVING对分组结果筛选;5. 示例包括统计员工数、工资总和、平均工资及按部门分组查询。

在 SQL 中,SELECT 语句结合聚合函数可以对数据进行统计计算。常见的聚合函数包括 COUNT()、SUM()、AVG()、MAX() 和 MIN()。这些函数用于对一组值返回单个结果。
基本语法结构
SELECT 聚合函数(列名) FROM 表名 [WHERE 条件] [GROUP BY 分组列] [HAVING 分组筛选];注意:聚合函数通常与 GROUP BY 搭配使用,以便按类别分组统计。若不使用 GROUP BY,则整个表视为一组。
COUNT() - 统计行数
用于统计记录数量。
- COUNT(*):统计所有行,包含 NULL 值。
- COUNT(列名):只统计该列非 NULL 的行数。
例如,统计员工总数:
SELECT COUNT(*) AS total_employees FROM employees;SUM() - 求和
计算某数值列的总和,忽略 NULL 值。
例如,计算所有员工工资总和:
SELECT SUM(salary) AS total_salary FROM employees;AVG() - 计算平均值
求某数值列的平均值。
例如,获取平均工资:
SELECT AVG(salary) AS avg_salary FROM employees;MAX() 与 MIN() - 最大值和最小值
分别返回某列的最大值和最小值。
例如,查找最高和最低工资:
SELECT MAX(salary) AS max_salary, MIN(salary) AS min_salary FROM employees;结合 GROUP BY 分组统计
若要按某个字段分组统计,使用 GROUP BY。
例如,按部门统计平均工资:
SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department;如果需要对分组结果进一步筛选(如只显示平均工资高于 8000 的部门),使用 HAVING:
SELECT department, AVG(salary) AS avg_salary FROM employees GROUP BY department HAVING AVG(salary) > 8000;基本上就这些。聚合函数让数据汇总变得简单直接,关键是理解它们如何与 GROUP BY 和 HAVING 配合使用。










