Group by là gì

GROUP BY, nhóm kết quả trả về dựa vào giá trị của cột được nhóm.
GROUP BY thường được sử dụng trong các truy vấn đòi hỏi tính toán, hiển thị theo nhóm.

Ví dụ: sử dụng câu lệnh Join để nối hai bảng Orders và Order Details trong database NorthWind. Kết quả của truy vấn là Orders , ProductId , UniPrice và Quanlity của từng Product. Sắp xếp theo Orders ID.

Use northwind;
GO
SELECT Orders.OrderID, 
       [Order Details].ProductID, 
       [Order Details].UnitPrice, 
       [Order Details].Quantity 
FROM   Orders 
       JOIN [Order Details] 
         ON Orders.OrderID = [Order Details].OrderID 
ORDER  BY Orders.OrderID 

Kết quả của truy vấn:

các nhóm có thể nhóm

Bạn thấy ở những truy vấn này, bạn có thể nhóm kết quả trả về thành từng nhóm các Order theo OrderID.

Sau khi nhóm xong, bạn có thể trả lời những câu hỏi  như là:

Tổng giá trị của Order đó là bao nhiêu? 
Tổng số lượng sản phẩm cho từng Order là bao nhiêu? Ví dụ, với OrderID 10248, ta thấy tổng số lượng hàng hóa là 12+10+5 = 27.

Giá trị trung bình từng món hàng của Order là bao nhiêu?

Ví dụ 2: Tính tổng số lượng hàng hóa của từng hóa đơn

Use northwind;
GO
SELECT Orders.OrderID, 
       Sum([Order Details].Quantity) As 'Tổng Số lượng hàng hóa' 
FROM   Orders 
       JOIN [Order Details] 
         ON Orders.OrderID = [Order Details].OrderID 
GROUP  BY Orders.OrderID 

nhóm
Với Order có OrderId = 10248, ta thấy số lượng hàng hóa là 27. Phù hợp với tính toán ở ví dụ 1.

Ví dụ 3: Tính tổng giá trị của từng hóa đơn, biết rằng, giá trị một mặt hàng = UnitPrice * Quanlity.

Use northwind;
GO
SELECT Orders.OrderID, 
       Sum([Order Details].Quantity * [Order Details].UnitPrice) As 
       'Tổng Giá Trị' 
FROM   Orders 
       JOIN [Order Details] 
         ON Orders.OrderID = [Order Details].OrderID 
GROUP  BY Orders.OrderID 

Tài liệu tham khảo: http://www.w3schools.com/sql/sql_groupby.asp

Bạn có thể tham khảo cách cài đặt database northwind tại đây:
http://hocdai.com/sql-can-ban/cai-dat-sql/cai-dat-database-northwind

Các môn học khác

Chương trình thường được xây dựng quanh dữ liệu và logic để xử lý chúng. Nói cách khác: Program = Cấu trúc dữ liệu + giải thuật. Do vậy đây là môn học bắt buộc dành cho các lập trình viên.

Khóa học này cung cấp cho ta kiến thức nền tảng về công nghệ Blockchain, Bitcoin. Vì sao nó được gọi là công nghệ của tương lai, vì sao giá Bitcoin lại cao đến vậy. Làm sao để mua Bitcoin, ETH.

HTTP giúp kết nối các máy tính trên mạng Internet thông qua TCP/IP