Giới thiệu
Kết hợp GROUP BY để gom nhóm các hàng trùng giá trị, COUNT(*) để đếm số lần xuất hiện (tần suất), và ORDER BY để sắp xếp kết quả.
Ví dụ minh họa
Bước 1: Tạo bảng và chèn dữ liệu (có trùng tên)
CREATE TABLE demo7 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50)
);
INSERT INTO demo7 (first_name) VALUES
('John'), ('David'), ('John'), ('Bob'), ('David'), ('David'), ('John'), ('John');
Bước 2: Nhóm và đếm
SELECT first_name, COUNT(*) AS frequency
FROM demo7
GROUP BY first_name
ORDER BY first_name;
Kết quả
+------------+-----------+
| first_name | frequency |
+------------+-----------+
| Bob | 1 |
| David | 3 |
| John | 4 |
+------------+-----------+
Mở rộng: Dùng ORDER BY frequency DESC để sắp xếp theo tần suất giảm dần. Thêm HAVING COUNT(*) > 1 để chỉ hiện các tên xuất hiện nhiều hơn 1 lần.