Ví dụ : Nếu bạn muốn khám phá Tổng số Bán hàng theo khu vực hoặc vương quốc, hãy sử dụng SQL Server Group By Khoản để phân loại bảng Bán hàng theo khu vực hoặc vương quốc. Sau đó, tất cả chúng ta hoàn toàn có thể sử dụng hàm tổng hợp SUM với để tính tổng .
Tóm Tắt
Cú pháp mệnh đề GROUP BY trong SQL
Cú pháp mệnh đề nhóm theo SQL trong câu lệnh SELECT là
SELECT [Column1], [Column2]...[ColumnN], Aggregate Function (Expression | Column_Name) FROM [Source] WHERE [Conditions] -- Optional GROUP BY [Column1], [Column2]...[ColumnN] ORDER BY Cols
Từ cú pháp mệnh đề theo nhóm SQL ở trên, nó cho phép chúng ta CHỌN số cột từ các bảng và nó có thể là một hoặc nhiều. Chúng tôi có thể sử dụng bất kỳ hàm tổng hợp nào như MIN, AVG, MAX và COUNT. Nguồn có thể là một hoặc nhiều bảng và sử dụng Kết hợp để nối nhiều bảng.
Bạn đang đọc: Mệnh đề GROUP BY trong SQL – https://final-blade.com
Điều kiện : Cung cấp bộ lọc hoặc điều kiện kèm theo. Nếu điều kiện kèm theo là TRUE, thì chỉ Câu lệnh SQL Group By SELECT trả về những bản ghi. Tất cả những Col đã chọn không thuộc Hàm tổng hợp nên đặt sau mệnh đề này .
Nếu bạn muốn hiển thị thông tin tổng hợp cho người dùng cuối, hãy sử dụng lao lý này. Bài viết này chỉ ra cách sử dụng mệnh đề SQL Server Group By để phân loại tài liệu và tổng hợp trong khi trích xuất nó bằng cách sử dụng câu lệnh SELECT. Chúng tôi sử dụng tài liệu dưới đây để lý giải điều này và ví dụ sau lý giải cách pháp luật này hoạt động giải trí trong cột nhóm .
Nhóm SQL theo số cột đơn
Trong ví dụ này, chúng tôi sử dụng một cột trong Mệnh đề nhóm này. Truy vấn sau sẽ tính tổng số id nhân viên cấp dưới trong một hạng mục giáo dục .
SELECT Education, COUNT([EmpID]) AS [Total IDs] FROM [Customer] GROUP BY Education
Nhóm theo nhiều cột
Sử dụng nhiều hơn một hoặc nhiều cột, ví dụ điển hình như Giáo dục đào tạo và nghề nghiệp trong nhóm SQL thanh toán giao dịch này theo truy vấn mệnh đề .
SELECT Education, [Occupation], COUNT([EmpID]) AS [Total IDs] FROM [Customer] GROUP BY Education, Occupation
Nếu bạn quan sát ảnh chụp màn hình hiển thị SQL Server ở trên, Mặc dù chúng tôi đã tích hợp Nghề nghiệp, những giá trị cột đang lặp lại. Đó là vì Ở đây chúng tôi đã sử dụng hai cột ( Nghề nghiệp và Giáo dục đào tạo ) trong câu lệnh này. Những người đã học bằng cử nhân đang thao tác trong Quản lý, và rất ít người đang thao tác trong Chuyên môn .
Ví dụ về nhóm theo hàm tính tổng trong SQL
Ở đây, chúng tôi sử dụng hàm Sum trong một cột duy nhất. Ngôn ngữ truy vấn có cấu trúc giao dịch tổng hợp sau đây sẽ tính tổng thu nhập của từng bộ phận.
SELECT [Occupation], SUM(YearlyIncome) AS [Total Income] FROM [Customer] GROUP BY Occupation
Sử dụng SQL Group by Sum và ví dụ Multiple Columns .
SELECT [Occupation], Education, SUM(YearlyIncome) AS [Total Income] FROM [Customer] GROUP BY Occupation, Education
Chúng ta cũng hoàn toàn có thể sử dụng Mệnh đề Where cùng với Mệnh đề này .
SELECT [Occupation] ,[Education] ,SUM([YearlyIncome]) AS [Total Income] FROM [Customer] WHERE [Occupation] <> 'Skilled Manual' GROUP BY [Occupation], [Education]
Bạn cũng hoàn toàn có thể sử dụng mệnh đề SQL GROUP BY Order By và mệnh đề where cùng với mệnh đề này. Bằng cách sử dụng mệnh đề thứ tự, bạn hoàn toàn có thể sắp xếp những bản ghi theo thứ tự giảm dần hoặc tăng dần. Câu lệnh sau đây sắp xếp người mua theo thu nhập theo thứ tự giảm dần .
SELECT [Occupation] ,[Education] ,SUM([YearlyIncome]) AS [Total Income] ,SUM(Sales) AS [Total Sales] FROM [Customer] WHERE [Occupation] <> 'Skilled Manual' GROUP BY [Occupation], [Education] ORDER BY SUM([YearlyIncome]) DESC
Nhóm theo các hàm tổng hợp
Trong ví dụ này, Chúng ta sẽ sử dụng hàm tổng hợp SUM, AVG, MIN và MAX trong một Câu lệnh SELECT duy nhất cùng với Mệnh đề Thứ tự .
SELECT [Occupation] ,SUM([YearlyIncome]) AS [Total Income] ,AVG([YearlyIncome]) AS [Average Income] ,MIN([YearlyIncome]) AS [Minimum Salery] ,MAX([YearlyIncome]) AS [Maximum Salery] FROM [Customer] GROUP BY [Occupation] ORDER BY [Occupation]
LƯU Ý: Nếu bạn quên Tên Cột ALIAS thì [No Column Name] sẽ được hiển thị dưới dạng văn bản tiêu đề.
Nhóm theo mệnh đề hàng đầu
Trong câu lệnh sql sau, nó nhóm những hàng bằng cách tích hợp Nghề nghiệp và giáo dục và Mệnh đề số 1 để chọn 6 bản ghi tiên phong .
SELECT TOP 6 [Occupation], Education, SUM(YearlyIncome) AS [Total Income], SUM(Sales) AS [Total Sales] FROM [Customer] GROUPBY Occupation, Education ORDER BY SUM(YearlyIncome) DESC
Nó giống như truy vấn trên nhưng chúng tôi sử dụng hai dòng dưới đây theo thứ tự và mệnh đề có so với nó. Tuyên bố này sẽ tích hợp Khách hàng theo Nghề nghiệp và Học vấn. Tiếp theo, Điều khoản có sẽ trả về tác dụng có tổng Thu nhập hàng năm lớn hơn 60000 .
HAVING SUM([YearlyIncome]) > 60000 ORDER BY SUM(YearlyIncome) DESC
Ví dụ phức tạp về nhóm theo mệnh đề trong SQL
Kết hợp toàn bộ những năng lực như ở đâu, có, sắp xếp theo, tổng mà bạn hoàn toàn có thể sử dụng cùng với mệnh đề này .
SELECT [Occupation], Education, SUM(YearlyIncome) AS [Total Income], SUM(Sales) AS [Total Sales] FROM [Customer] WHERE [Education] <> 'Partial High School' GROUP BY Occupation, Education HAVING SUM([YearlyIncome]) > 60000 ORDER BY Occupation, Education
Source: https://final-blade.com
Category : Kiến thức Internet