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

Đếm số giá trị lớn hơn và nhỏ hơn/ngang ngửa một ngưỡng, hiển thị trên hai cột riêng biệt trong MySQL

Kỹ thuật

Sử dụng COUNT() kết hợp CASE WHEN để đếm điều kiện và hiển thị mỗi điều kiện trên một cột.

1. Tạo bảng

mysql> create table DemoTable (
    Score int
);
Query OK, 0 rows affected (0.71 sec)

2. Chèn dữ liệu

mysql> insert into DemoTable values(40),(48),(59),(33),(38),(89),(35);

3. Xem dữ liệu

mysql> select * from DemoTable;
+-------+
| Score |
+-------+
| 40    |
| 48    |
| 59    |
| 33    |
| 38    |
| 89    |
| 35    |
+-------+
7 rows in set (0.00 sec)

4. Truy vấn đếm hai nhóm

mysql> select
    count(case when Score > 45 then 1 end) as CountOfValueGreaterThan45,
    count(case when Score <= 45 then 1 end) as CountOfValueLessThanOrEqualTo45
    from DemoTable;

Kết quả:

+---------------------------+---------------------------------+
| CountOfValueGreaterThan45 | CountOfValueLessThanOrEqualTo45 |
+---------------------------+---------------------------------+
| 3                         | 4                               |
+---------------------------+---------------------------------+
1 row in set (0.00 sec)

Giải thích: CASE WHEN ... THEN 1 END trả về 1 khi thỏa mãn, NULL khi không. COUNT() chỉ đếm giá trị không NULL.