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

Đếm số lượng bản ghi theo giá trị ENUM trong MySQL

Khi làm việc với cột kiểu ENUM trong MySQL, bạn thường cần thống kê số lần xuất hiện của từng giá trị liệt kê. Cách đơn giản nhất là kết hợp mệnh đề GROUP BY với hàm tổng hợp COUNT().

Tạo bảng và chèn dữ liệu mẫu

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Size ENUM('S', 'M', 'L', 'XL')
);

mysql> INSERT INTO DemoTable (Size) VALUES 
('L'), ('S'), ('S'), ('M'), ('XL'), 
('M'), ('M'), ('M'), ('XL');

Xem dữ liệu trong bảng

mysql> SELECT * FROM DemoTable;
+----+------+
| Id | Size |
+----+------+
|  1 | L    |
|  2 | S    |
|  3 | S    |
|  4 | M    |
|  5 | XL   |
|  6 | M    |
|  7 | M    |
|  8 | M    |
|  9 | XL   |
+----+------+

Truy vấn đếm số lượng theo từng size

mysql> SELECT tbl.Size, COUNT(1) AS Frequency 
FROM DemoTable tbl 
GROUP BY tbl.Size;

Kết quả

+------+-----------+
| Size | Frequency |
+------+-----------+
| L    |         1 |
| S    |         2 |
| M    |         4 |
| XL   |         2 |
+------+-----------+

Giải thích: Mệnh đề GROUP BY Size gom nhóm các hàng có cùng giá trị Size, và COUNT(1) (hoặc COUNT(*)) đếm số hàng trong mỗi nhóm. Cách này hoạt động hiệu quả với cả cột ENUM lẫn các kiểu dữ liệu khác.