• Cú pháp:
[GROUP BY [ ALL ]group_by_expression [,...n] ALL
bảng kết quả sẽ chứa tất cả các nhóm kể cả những nhóm không thỏa mãn điều kiện lọc trong trong mệnh đề WHERE, những nhóm không thoả điều kiện sẽ có giá trị null.
• group_by_expression: biểu thức dùng để xác định cột được nhóm
Mệnh đề GROUP BY
• Ví dụ:
SELECT Orderid, SUM(Quantity * UnitPrice) AS „Total„ FROM [Order Details]
GROUP BY Orderid
SELECT Orderid, AVG(Quantity * UnitPrice) AS „AVG TOTAL„ FROM [Order Details]
Mệnh đề GROUP BY
• Ví dụ:
SELECT Orderid, MIN(Quantity * UnitPrice)
AS „MIN Total„ FROM [Order Details] GROUP BY Orderid
SELECT Orderid, MAX(Quantity * UnitPrice) AS „MAX Total„ FROM [Order Details]
Mệnh đề GROUP BY
• Ví dụ:
SELECT Count(Reportsto)
AS „Count Of Orders„ FROM [Orders]
SELECT Customerid, Count(Orderid)
AS „Count Order of Customers„ FROM Orders SELECT Count(*)
Mệnh đề GROUP BY
• Ví dụ:
SELECT Productid, Sum(Quantity) As Total FROM [Order Details]
WHERE Productid =2 GROUP BY Productid
SELECT Customerid, Count(Orderid)
AS „Count Order of Customers„ FROM Orders WHERE Customerid like „%m‟
Ví dụ
• SELECT Type, Advance = SUM (Advance) FROM Titles WHERE Type IN ('business', 'mod_cook', 'trad_cook') GROUP BY Type
Type Advance --- --- business 25125.0000 mod_cook 15000.0000 trad_cook 19000.0000 Mệnh đề GROUP BY
Ví dụ 2
• SELECT Type, Advance = SUM (Advance) FROM Titles WHERE Type IN ('business', 'mod_cook', 'trad_cook') GROUP BY ALL Type
Type Advance --- --- business 25125.0000 mod_cook 15000.0000 popular_comp NULL psychology NULL trad_cook 19000.0000 Mệnh đề GROUP BY