Điều này sẽ tiết lộ tất cả
SELECT 4=4, 3=4, 1 or null, 0 or null
Đầu ra
1 | 0 | 1 | NULL
Sự thật
-
COUNT thêm các cột / biểu thức đánh giá là NOT NULL. Mọi thứ sẽ tăng lên 1, miễn là nó không rỗng. Ngoại lệ là COUNT (DISTINCT) chỉ tăng lên nếu nó chưa được tính.
-
Khi một biểu thức BOOLEAN được sử dụng riêng, nó sẽ trả về 1 hoặc 0.
-
Khi boolean là
OR
-ed với NULL, nó chỉ là NULL khi nó bằng 0 (false)
Với những người khác
Có nếu số đếm là cột DUY NHẤT mong muốn, người ta có thể sử dụng WHERE value=4
nhưng nếu đó là một truy vấn muốn đếm số 4 cũng như truy xuất số lượng / tổng hợp khác, sau đó bộ lọc không hoạt động. Một giải pháp thay thế sẽ là SUM(value=4)
, ví dụ:
SELECT sum(value=4)
FROM test