Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Lấy nhiều COUNT trong một truy vấn MySQL cho các giá trị cột cụ thể

Để 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)