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

ฟังก์ชัน MySQL SUM () ประเมินว่าคอลัมน์มีค่า NULL ด้วยหรือไม่


สมมติว่าถ้าเรากำลังคำนวณผลรวมของค่าของคอลัมน์ที่มีค่า NULL ด้วย ฟังก์ชัน MySQL SUM() จะไม่สนใจค่า NULL และทำผลรวมของค่าที่เหลือ เพื่อให้เข้าใจ ให้พิจารณาตัวอย่างต่อไปนี้ของตาราง 'พนักงาน' โดยมีรายละเอียดดังต่อไปนี้ -

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)