Để làm điều này, bạn có thể sử dụng hàm tổng hợp SUM() cùng với biểu thức điều kiện cho giá trị cột cụ thể. Hãy cùng tạo một bảng trước:
mysql> CREATE TABLE DemoTable1790 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(20),
Score INT
); Query OK, 0 rows affected (0.94 sec)
Chèn một số bản ghi vào bảng bằng lệnh INSERT:
mysql> INSERT INTO DemoTable1790(Name,Score) VALUES('Chris',45); Query OK, 1 row affected (0.38 sec)
mysql> INSERT INTO DemoTable1790(Name,Score) VALUES('David',55); Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable1790(Name,Score) VALUES('David',98); Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable1790(Name,Score) VALUES('Chris',91); Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable1790(Name,Score) VALUES('Mike',99); Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable1790(Name,Score) VALUES('Carol',55); Query OK, 1 row affected (0.35 sec)
Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:
mysql> SELECT * FROM DemoTable1790;
Kết quả sẽ như sau:
+----+-------+-------+ | Id | Name | Score | +----+-------+-------+ | 1 | Chris | 45 | | 2 | David | 55 | | 3 | David | 98 | | 4 | Chris | 91 | | 5 | Mike | 99 | | 6 | Carol | 55 | +----+-------+-------+ 6 rows in set (0.00 sec)
Dưới đây là truy vấn để lấy nhiều COUNT trong một truy vấn MySQL:
mysql> SELECT SUM(Name='Chris'), SUM(Score=55) FROM DemoTable1790;
Kết quả sẽ như sau:
+-------------------+---------------+ | SUM(Name='Chris') | SUM(Score=55) | +-------------------+---------------+ | 2 | 2 | +-------------------+---------------+ 1 row in set (0.00 sec)