Câu lệnh NHÓM SQL THEO
Câu lệnh SQL GROUP BY
Câu lệnh GROUP BY
nhóm các hàng có cùng giá trị thành các hàng tóm tắt, chẳng hạn như "tìm số lượng khách hàng ở mỗi quốc gia".
Câu lệnh GROUP BY
thường được sử dụng với các hàm tổng hợp ( COUNT()
, MAX()
, MIN()
, SUM()
, AVG()
) để nhóm tập kết quả theo một hoặc nhiều cột.
NHÓM THEO Cú pháp
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);
Cơ sở dữ liệu demo
Dưới đây là lựa chọn từ bảng "Khách hàng" trong cơ sở dữ liệu mẫu Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Ví dụ về NHÓM SQL THEO
Câu lệnh SQL sau liệt kê số lượng khách hàng ở mỗi quốc gia:
Câu lệnh SQL sau liệt kê số lượng khách hàng ở mỗi quốc gia, được sắp xếp từ cao xuống thấp:
Ví dụ
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;
Hãy tự mình thử »Cơ sở dữ liệu demo
Dưới đây là lựa chọn từ bảng "Đơn hàng" trong cơ sở dữ liệu mẫu Northwind:
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10248 | 90 | 5 | 1996-07-04 | 3 |
10249 | 81 | 6 | 1996-07-05 | 1 |
10250 | 34 | 4 | 1996-07-08 | 2 |
Và một lựa chọn từ bảng "Người gửi hàng":
ShipperID | ShipperName |
---|---|
1 | Speedy Express |
2 | United Package |
3 | Federal Shipping |
NHÓM THEO Với Ví dụ THAM GIA
Câu lệnh SQL sau liệt kê số lượng đơn hàng được gửi bởi mỗi người gửi hàng:
Ví dụ
SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS NumberOfOrders FROM
Orders
LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
GROUP BY ShipperName;
Hãy tự mình thử »