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)

更新於: 2019年7月30日

1K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.