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

MySQL COUNT() คืนค่าอะไรเมื่อคอลัมน์มีค่า NULL อยู่ด้วย?

เมื่อเราใช้ฟังก์ชัน MySQL COUNT() เพื่อนับค่าที่จัดเก็บในคอลัมน์ที่ยังจัดเก็บค่า NULL บางส่วน MySQL จะละเว้น NULL และคืนค่าผลลัพธ์สำหรับค่า non-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)

ตอนนี้ คำสั่งต่อไปนี้ใช้ฟังก์ชัน COUNT() บนคอลัมน์ 'Salary'

mysql> Select COUNT(salary) from employee568;
+---------------+
| COUNT(salary) |
+---------------+
| 6             |
+---------------+
1 row in set (0.15 sec)

จากชุดผลลัพธ์ข้างต้น ชัดเจนว่า MySQL ละเว้น NULL และคืนค่านับสำหรับค่า non-NULL เท่านั้น