Để đếm giá trị cho nhiều cột, hãy sử dụng câu lệnh CASE. Đầu tiên chúng ta hãy tạo một bảng ::
mysql> create table countValueMultipleColumnsDemo -> ( -> Value1 int, -> Value2 int, -> Value3 int -> ); Query OK, 0 rows affected (0.62 sec)
Sau đây là truy vấn để chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert:
mysql> insert into countValueMultipleColumnsDemo values(10,15,10); Query OK, 1 row affected (0.15 sec) mysql> insert into countValueMultipleColumnsDemo values(20,30,10); Query OK, 1 row affected (0.14 sec) mysql> insert into countValueMultipleColumnsDemo values(40,10,60); Query OK, 1 row affected (0.18 sec)
Sau đây là truy vấn để hiển thị các bản ghi từ bảng bằng lệnh select:
mysql> select *from countValueMultipleColumnsDemo;
Điều này sẽ tạo ra kết quả sau
+--------+--------+--------+ | Value1 | Value2 | Value3 | +--------+--------+--------+ | 10 | 15 | 10 | | 20 | 30 | 10 | | 40 | 10 | 60 | +--------+--------+--------+ 3 rows in set (0.00 sec)
Sau đây là truy vấn để đếm giá trị cho nhiều cột:
mysql> SELECT (SUM(CASE WHEN Value1 = 10 THEN 1 ELSE 0 END) + -> SUM(CASE WHEN Value2 = 10 THEN 1 ELSE 0 END) + -> SUM(CASE WHEN Value3 = 10 THEN 1 ELSE 0 END)) TOTAL_COUNT -> from countValueMultipleColumnsDemo;
Điều này sẽ tạo ra kết quả sau
+-------------+ | TOTAL_COUNT | +-------------+ | 4 | +-------------+ 1 row in set (0.00 sec)