SUM()是mysql中用于计算数值列总和的聚合函数,基本语法为select SUM(列名) FROM 表名 [WHERE 条件];可结合WHERE筛选条件求和,如计算“手机”总价;也可配合GROUP BY按组汇总,如按商品分类统计;若无匹配行则返回NULL,可用IFNULL或COALESCE替换为0。
在 MySQL 中,SUM() 是一个聚合函数,用于计算指定列的总和。它通常用在 SELECT 语句中,配合 GROUP BY、WHERE 等子句对数据进行统计汇总。
基本语法
SELECT SUM(列名) FROM 表名 [WHERE 条件];
该语句会返回指定列所有匹配行的数值总和。如果没有任何匹配行,SUM() 返回 NULL。
简单求和示例
假设有一张订单表 orders,结构如下:
要计算所有商品的总价:
SELECT SUM(price) AS total_price FROM orders;
结果为:8700
配合 WHERE 条件使用
如果只想计算特定条件下的总和,比如只计算“手机”的总价:
SELECT SUM(price) AS phone_total FROM orders WHERE product = '手机';
结果为:6200
结合 GROUP BY 分组求和
按商品类别分组,分别计算每类商品的总价格:
SELECT product, SUM(price) AS total FROM orders GROUP BY product;
结果:
product | total --------|------- 手机 | 6200 平板 | 2500
注意事项
- SUM() 只能用于数值类型的列(如 int、DECIMAL)。
- 如果列中包含 NULL 值,SUM() 会自动忽略它们。
- 在没有匹配行时,SUM() 返回 NULL 而不是 0,可使用 IFNULL 或 COALESCE 处理:
SELECT IFNULL(SUM(price), 0) AS total FROM orders WHERE product = '电脑';
基本上就这些,根据实际查询需求灵活组合条件和分组即可。