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

Đếm giá trị của hai trường trong một truy vấn MySQL

Để thực hiện việc này, bạn có thể sử dụng câu lệnh CASE kết hợp với hàm SUM(). Ở đây, chúng ta sẽ đếm số lượng bản ghi "Male" và "Female" từ một cột chứa giới tính nhân viên. Trước tiên, hãy tạo một bảng:

mysql> CREATE TABLE DemoTable (
    EmployeeGender ENUM('Male','Female')
); Query OK, 0 rows affected (0.52 sec)

Chèn một số bản ghi:

mysql> INSERT INTO DemoTable VALUES('Male'); Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable VALUES('Female'); Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable VALUES('Male'); Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable VALUES('Female'); Query OK, 1 row affected (0.08 sec)
mysql> INSERT INTO DemoTable VALUES('Male'); Query OK, 1 row affected (0.07 sec)
mysql> INSERT INTO DemoTable VALUES('Female'); Query OK, 1 row affected (0.08 sec)

Hiển thị tất cả bản ghi:

mysql> SELECT * FROM DemoTable;

Kết quả:

+----------------+
| EmployeeGender |
+----------------+
| Male           |
| Female         |
| Male           |
| Female         |
| Male           |
| Female         |
+----------------+
6 rows in set (0.00 sec)

Truy vấn để đếm hai giá trị trong một câu lệnh:

mysql> SELECT 
    SUM(CASE WHEN EmployeeGender='Male' THEN 1 ELSE 0 END) AS Total_Male,
    SUM(CASE WHEN EmployeeGender='Female' THEN 1 ELSE 0 END) AS Total_Female
FROM DemoTable;

Kết quả:

+------------+--------------+
| Total_Male | Total_Female |
+------------+--------------+
| 3          | 3            |
+------------+--------------+
1 row in set (0.00 sec)