Z
ZHANK
编程在线教程SQL 教程聚合函数 COUNT/SUM/AVG
函数与计算

聚合函数 COUNT/SUM/AVG

掌握聚合函数:计数、求和、平均值、最大最小值

聚合函数 COUNT/SUM/AVG

聚合函数把多行数据汇总成一行,统计分析的基础。

学完本章你将: 掌握 COUNT、SUM、AVG、MAX、MIN。


COUNT —— 计数

sql
-- 统计总行数
SELECT COUNT(*) FROM users;

-- 统计非 NULL 值的数量
SELECT COUNT(email) FROM users;  -- 忽略 NULL

-- 统计不同值的数量
SELECT COUNT(DISTINCT city) FROM users;

💡 COUNT(*)COUNT(column) 的区别:前者统计所有行(包括 NULL),后者只统计该列非 NULL 的行。


SUM / AVG —— 求和与平均

sql
-- 年龄总和
SELECT SUM(age) FROM users;

-- 平均年龄
SELECT AVG(age) FROM users;

-- 配合 WHERE
SELECT AVG(age) FROM users WHERE city = '北京';

⚠️ SUM/AVG 忽略 NULL 值。如果整列都是 NULL,SUM 返回 NULL(不是 0),用 COALESCE(SUM(col), 0) 兜底。


MAX / MIN —— 最大最小值

sql
SELECT MAX(age) AS 最大年龄, MIN(age) AS 最小年龄 FROM users;

-- 可以用于日期和字符串
SELECT MAX(created_at) AS 最近注册 FROM users;
SELECT MIN(name) AS 字母序最前 FROM users;

聚合函数 + 分组

聚合函数通常和 GROUP BY 一起使用(后续章节详解):

sql
-- 每个城市的用户数量
SELECT city, COUNT(*) AS 人数 FROM users
GROUP BY city;