Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Đếm giá trị cột bỏ qua NULL trong MySQL với COUNT()

Hàm COUNT(column_name) chỉ đếm các hàng có giá trị khác NULL trong cột đó, trong khi COUNT(*) đếm tất cả hàng.

Tạo bảng và dữ liệu có NULL

mysql> CREATE TABLE DemoTable (
    -> Name VARCHAR(100),
    -> CountryName VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.49 sec)
mysql> INSERT INTO DemoTable VALUES('John', NULL);
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable VALUES('Chris', 'US');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable VALUES('Robert', NULL);
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable VALUES('Bob', 'UK');
Query OK, 1 row affected (0.57 sec)

Truy vấn đếm riêng cho từng cột

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

Kết quả:

+-----------+-----------------------+
| TotalName | CountryWhichIsNotNull |
+-----------+-----------------------+
| 4         | 2                     |
+-----------+-----------------------+
1 row in set (0.00 sec)

Tóm tắt: COUNT(Name) = 4 (không có NULL), COUNT(CountryName) = 2 (có 2 giá trị NULL).