MySQL SUM()函数如何计算带有NULL值的列
假设我们正在计算一列值的总和,该列还包含NULL值,则MySQL的SUM()函数将忽略NULL值并对其余值进行求和。要了解这一点,请考虑以下示例“employee”表的详细信息:
mysql> Select * from Employee;
+----+--------+--------+
| ID | Name | Salary |
+----+--------+--------+
| 1 | Gaurav | 50000 |
| 2 | Rahul | 20000 |
| 3 | Advik | 25000 |
| 4 | Aarav | 65000 |
| 5 | Ram | 20000 |
| 6 | Mohan | 30000 |
| 7 | Aryan | NULL |
| 8 | Vinay | NULL |
+----+--------+--------+
8 rows in set (0.00 sec)
现在,假设我们要计算上表中员工的总工资,则在使用SUM()函数进行计算时,它会忽略NULL值。以下查询将生成所需的结果集。
mysql> Select SUM(Salary) from Employee;
+-------------+
| SUM(Salary) |
+-------------+
| 210000 |
+-------------+
1 row in set (0.00 sec)
可以使用以下查询来验证这一点。
mysql> Select SUM(Salary) from Employee WHERE Salary IS NOT NULL;
+-------------+
| SUM(Salary) |
+-------------+
| 210000 |
+-------------+
1 row in set (0.00 sec)
阅读更多:MySQL 教程