Kết hợp WHERE ... IN (...) để lọc các giá trị quan tâm, sau đó GROUP BY và COUNT(*) để đếm tần suất của từng giá trị.
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(100)
);
Chèn dữ liệu:
mysql> INSERT INTO DemoTable(Name) VALUES('John');
mysql> INSERT INTO DemoTable(Name) VALUES('Chris');
mysql> INSERT INTO DemoTable(Name) VALUES('David');
mysql> INSERT INTO DemoTable(Name) VALUES('Chris');
mysql> INSERT INTO DemoTable(Name) VALUES('Chris');
mysql> INSERT INTO DemoTable(Name) VALUES('John');
mysql> INSERT INTO DemoTable(Name) VALUES('Carol');
mysql> INSERT INTO DemoTable(Name) VALUES('Sam');
Xem dữ liệu:
mysql> SELECT * FROM DemoTable;
Kết quả
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | Chris | | 3 | David | | 4 | Chris | | 5 | Chris | | 6 | John | | 7 | Carol | | 8 | Sam | +----+-------+
Đếm số lần xuất hiện của 'John' và 'Chris':
mysql> SELECT Name, COUNT(*) AS Occurrences
-> FROM DemoTable
-> WHERE Name IN ('John', 'Chris')
-> GROUP BY Name;
Kết quả
+-------+-------------+ | Name | Occurrences | +-------+-------------+ | John | 2 | | Chris | 3 | +-------+-------------+
Mở rộng: Bỏ mệnh đề WHERE để đếm tất cả giá trị trong cột.