Computer >> Máy Tính >  >> Lập trình >> MySQL

Hàm MySQL SUM () đánh giá như thế nào nếu cột cũng có giá trị NULL?

Giả sử nếu chúng ta đang tính tổng các giá trị của một cột cũng có giá trị NULL thì hàm MySQL SUM () bỏ qua các giá trị NULL và tính tổng các giá trị còn lại. Để hiểu điều đó, hãy xem xét ví dụ sau về bảng "nhân viên", có các chi tiết sau -

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)

Bây giờ, giả sử nếu chúng ta muốn có tổng lương của nhân viên từ bảng trên thì trong khi tính toán bằng hàm SUM (), nó sẽ bỏ qua các giá trị NULL. Truy vấn sau sẽ tạo ra tập kết quả bắt buộc -

mysql> Select SUM(Salary) from Employee;
+-------------+
| SUM(Salary) |
+-------------+
| 210000      |
+-------------+
1 row in set (0.00 sec)

Nó cũng có thể được xác minh với sự trợ giúp của truy vấn sau -

mysql> Select SUM(Salary) from Employee WHERE Salary IS NOT NULL;
+-------------+
| SUM(Salary) |
+-------------+
|   210000    |
+-------------+
1 row in set (0.00 sec)