聚合函数 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;