Dùng CASE WHEN trong SUM() để đếm riêng NULL và chuỗi rỗng, kết hợp UNION ALL.
Tạo bảng và dữ liệu
mysql> CREATE TABLE DemoTable781(Name VARCHAR(100));
Query OK, 0 rows affected (0.66 sec)
mysql> INSERT INTO DemoTable781 VALUES(''), ('Chris'), (''), (NULL), (NULL), (''), (NULL);
Query OK, 7 rows affected
Truy vấn đếm NULL và rỗng
mysql> (SELECT SUM(CASE WHEN Name IS NULL THEN 1 ELSE 0 END) AS NullCountAndEmptyCount FROM DemoTable781) UNION ALL (SELECT SUM(CASE WHEN Name = '' THEN 1 ELSE 0 END) AS NullCountAndEmptyCount FROM DemoTable781);
Kết quả:
+------------------------+ | NullCountAndEmptyCount | +------------------------+ | 3 | | 3 | +------------------------+
Cách gọn hơn (MySQL 8.0+):
SELECT
SUM(Name IS NULL) AS NullCount,
SUM(Name = '') AS EmptyCount
FROM DemoTable781;
Kết quả trả về 1 hàng với 2 cột: NullCount=3, EmptyCount=3.