本包目录(311 条)
查询基础33 条连接与子查询40 条
聚合与窗口函数54 条
函数速查60 条变更与事务52 条性能与执行计划72 条

SUM 求和

对数值列求和,忽略 NULL;没有任何行或全为 NULL 时返回 NULL,报表场景常用 COALESCE 兜底。

SQL 速查数据更新于 2026-10-12

示例

示例
SELECT COALESCE(SUM(amount), 0) AS total_amount,
       SUM(CASE WHEN status = 1 THEN amount ELSE 0 END) AS paid_amount
FROM orders
WHERE user_id = 42;
NULL 输入跳过 NULL 值
空集返回 NULL,按需 COALESCE
类型整数求和可能溢出,大额用 DECIMAL/BIGINT

易错点

  • SUM 在无匹配行时返回 NULL,直接展示会显示空而不是 0
  • 连接多表后 SUM 金额会被行数放大,先确认聚合粒度

数据来源与参考

  • MySQL 8.0 Reference Manual · SUM
  • PostgreSQL Documentation · Aggregate Functions
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌