Group by trong SQL là gì? Cách dùng Group by khi lập trình bằng SQL như thế nào?
Lệnh GROUP BY trong SQL Server được dùng để lấy dữ liệu tóm tắt dựa trên một hoặc nhiều nhóm. Các nhóm có thể được tạo thành từ một hoặc nhiều cột. Ví dụ, truy vấn GROUP BY sẽ được dùng để đếm số lượng nhân viên trong mỗi phòng ban, hoặc tính tổng lương của một bộ phận.
Bạn phải dùng các hàm tổng hợp như COUNT(), MAX(), MIN(), SUM(), AVG()… trong truy vấn SELECT. Kết quả câu lệnh GROUP BY trong SQL Server trả về một hàng cho từng giá trị của cột GROUP BY.
Cú pháp:
SELECT column1, column2,...columnN FROM table_name
[WHERE]
[GROUP BY column1, column2...columnN]
[HAVING]
[ORDER BY]
Mệnh đề SELECT có thể bao gồm cột được dùng với SQL GROUP BY. Vì thế, để bao gồm các cột khác trong hàm GROUP BY, dùng các hàm tổng hợp như COUNT(), MAX(), MIN(), SUM(), AVG() với những cột đó.
Đặc điểm nổi bật của GROUP BY trong SQL:
Được dùng để tạo thành nhóm các bản ghi.
Đứng sau mệnh đề WHERE nếu có và trước HAVING.
Có thể bao gồm một hoặc nhiều cột để tạo thành một hoặc nhiều nhóm dựa trên cột đó.
Chỉ các cột GROUP BY có thể được dùng bao gồm trong mệnh đề SELECT. Để dùng các cột khác trong SELECT, dùng hàm tổng hợp.
Để các bạn dễ theo dõi cách sử dụng GROUP BY trong SQL Server và tiện làm ví dụ, chúng ta sẽ sử dụng bảng dữ liệu dưới đây trong toàn bộ bài viết.
Bảng có tên Quantrimang.com, có 4 cột là IDChuyenmuc, Muccon, Chuyenmuclon, Sobai và 6 hàng như sau: