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

นับค่าคอลัมน์โดยไม่นับ NULL ใน MySQL

ฟังก์ชัน COUNT(คอลัมน์) จะไม่นับค่า NULL ให้ใช้งานได้เลย

สร้างตารางตัวอย่าง

mysql> CREATE TABLE DemoTable (
    -> Name VARCHAR(100),
    -> CountryName VARCHAR(100)
    -> );

เพิ่มข้อมูลตัวอย่าง (มี NULL)

mysql> INSERT INTO DemoTable VALUES('John', NULL);
mysql> INSERT INTO DemoTable VALUES('Chris', 'US');
mysql> INSERT INTO DemoTable VALUES('Robert', NULL);
mysql> INSERT INTO DemoTable VALUES('Bob', 'UK');

แสดงข้อมูลทั้งหมด

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+--------+-------------+
| Name   | CountryName |
+--------+-------------+
| John   | NULL        |
| Chris  | US          |
| Robert | NULL        |
| Bob    | UK          |
+--------+-------------+

คำสั่งนับไม่นับ NULL

mysql> SELECT COUNT(Name) AS TotalName, COUNT(CountryName) AS CountryNotNull FROM DemoTable;

ผลลัพธ์:

+-----------+----------------+
| TotalName | CountryNotNull |
+-----------+----------------+
| 4         | 2              |
+-----------+----------------+

คำอธิบาย: COUNT(Name) = 4 (นับทุกแถว เพราะ Name ไม่มี NULL) | COUNT(CountryName) = 2 (นับเฉพาะ US และ UK ข้าม NULL)