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

Nhóm kết quả và hiển thị tần suất trong MySQL (GROUP BY, ORDER BY)

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.