SUM() 是一个求总和的函数,返回指定列值的总和。
SUM() 函数是如何工作的?如果在没有返回匹配行的 SELECT 语句中使用 SUM 函数,则 SUM 函数返回 NULL,而不是 0。
DISTINCT 运算符允许计算集合中的不同值。
SUM 函数忽略计算中的 NULL 值。
在演示 SUM 函数用法之前,我们先 t_user 用户表,表数据如下:
mysql> select * from t_user; +----+------+-----+------+----------+ | id | name | sex | age | salary | +----+------+-----+------+----------+ | 1 | 张三 | 男 | 22 | 6782.50 | | 2 | 李四 | 男 | 27 | 7523.00 | | 3 | 王五 | 女 | 22 | 6760.30 | | 4 | 赵六 | 男 | 24 | 6810.50 | | 5 | 王二 | 男 | 27 | 10280.00 | | 6 | 杜一 | 女 | 25 | 8700.00 | | 7 | NULL | 女 | NULL | 9750.00 | +----+------+-----+------+----------+ 7 rows in set (0.06 sec)
(1)统计 t_user 用户表中薪水(salary)总和,如下:
mysql> select SUM(salary) as '工资' from t_user; +----------+ | 工资 | +----------+ | 56606.30 | +----------+ 1 row in set (0.05 sec)
由运行结果可以得知,SUM() 函数返回用户的所有工资(salary)之和为 46856.3。
注意:SUM() 函数在计算时,忽略列值为 NULL 的行。