– Trong hệ quản trị cơ sở dữ liệu MySQL, lệnh GROUP BY được dùng để nhóm những hàng có cùng giá trị dựa trên một cột nào đó lại với nhau, nó thường được sử dụng kết hợp với các hàm tính toán tổng hợp như MIN, MAX, SUM, COUNT, AVG, . . . . để tính toán giá trị cột của những hàng được nhóm lại.
– Để sử dụng lệnh GROUP BY thì chúng ta dùng cú pháp như sau:
SELECT column_name(s)
FROM table_name
GROUP BY column_name;
MỘT SỐ VÍ DỤ
– Trong bài học này, tôi sẽ sử dụng cái bảng Customers như bên dưới để làm ví dụ minh họa:
CustomerID | CustomerName | Address | City |
1 | Nguyễn Thành Nhân | 63 Hoàng Văn Thụ | Cần Thơ |
2 | Dương Trung Đức | 16 Nguyễn Văn Cừ | Cần Thơ |
3 | Cà Thị Ngọc Điệp | Tổ 6 – Hoàng Hoa Thám | Vĩnh Long |
4 | Cầm Xuân Hải | Số 4A Đinh Lễ | Sóc Trăng |
5 | Phạm Thị Thùy Linh | 164 Lê Thánh Tông | Vĩnh Long |
6 | Lưu Đức Hoa | Số 169 Trần Quang Diệu | An Giang |
7 | Phạm Thu Hiền | Số 811 Giải Phóng | Cần Thơ |
– Liệt kê số lượng khách hàng ở mỗi thành phố.
SELECT City, COUNT(CustomerID) AS NumberOfCustomers
FROM Customers
GROUP BY City;
– Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.
City | NumberOfCustomers |
An Giang | 1 |
Cần Thơ | 3 |
Sóc Trăng | 1 |
Vĩnh Long | 2 |
– Liệt kê số lượng khách hàng (theo thứ tự tăng dần) ở mỗi thành phố.
SELECT City, COUNT(CustomerID) AS NumberOfCustomers
FROM Customers
GROUP BY City
ORDER BY NumberOfCustomers ASC;
– Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới.
City | NumberOfCustomers |
Sóc Trăng | 1 |
An Giang | 1 |
Vĩnh Long | 2 |
Cần Thơ | 3 |