Đếm số hàng mà trong đó xuất hiện đồng thời 2 (hoặc nhiều) giá trị cụ thể ở các cột khác nhau.
Ví dụ minh họa
Tạo bảng 3 cột số:
CREATE TABLE specifiedValuesDemo (
Value INT, Value2 INT, Value3 INT
);
INSERT INTO specifiedValuesDemo VALUES (10, 15, 20);
INSERT INTO specifiedValuesDemo VALUES (40, 10, 20);
INSERT INTO specifiedValuesDemo VALUES (80, 20, 1000);
Dữ liệu:
+-------+--------+--------+ | Value | Value2 | Value3 | +-------+--------+--------+ | 10 | 15 | 20 | | 40 | 10 | 20 | | 80 | 20 | 1000 | +-------+--------+--------+
Đếm hàng có chứa cả 10 và 20 ở bất kỳ cột nào trong (Value, Value2, Value3):
SELECT COUNT(*) FROM specifiedValuesDemo WHERE 10 IN (Value, Value2, Value3) AND 20 IN (Value, Value2, Value3);
Kết quả: 2 (hàng 1 và hàng 2).
Giải thích:
10 IN (Value, Value2, Value3)kiểm tra 10 có mặt trong 3 cột không.ANDyêu cầu cả 2 giá trị đều có mặt.- Cách này mở rộng dễ dàng cho nhiều giá trị:
WHERE 10 IN (...) AND 20 IN (...) AND 30 IN (...).
Lưu ý: Nếu cùng một hàng có thể chứa trùng giá trị (ví dụ Value=10, Value2=10), logic vẫn đúng vì IN chỉ kiểm tra sự tồn tại.