聚合时 NULL 会变卦

SUM / AVG / COUNT(列) 都会悄悄跳过 NULL,只有 COUNT(*) 数行数时一视同仁。这会导致「平均工资」和「总人数」对不上,报表里最常见的暗坑。

聚合时 NULL 会变卦要点

聚合时 NULL 会变卦示例

						-- 总人数 vs 有奖金的人数(两者常常不同)
						SELECT COUNT(*) AS headcount,
						       COUNT(bonus) AS with_bonus
						FROM staff;

						-- 让奖金为空的人也按 0 计入平均
						SELECT AVG(COALESCE(bonus, 0)) AS avg_bonus
						FROM staff;
避坑提醒:核对报表时,先分别跑 COUNT(*) 和 COUNT(关键列),差多少就是 NULL 行数,能快速定位问题。
聚合时 NULL 会变卦 · NULL 值处理 知识卡片
卡片 05 / 07 · NULL 值处理(1080×1440 速查卡片)

NULL 值处理知识点