Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

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)