Computer >> Máy Tính >  >> Lập trình >> SQL Server

Mệnh đề GROUP BY trong SQL Server

Mệnh đề GROUP BY trong SQL Server (Transact-SQL) được sử dụng trong câu lệnh SELECT để truy xuất dữ liệu từ nhiều bản ghi và nhóm kết quả thành 1 hoặc nhiều cột.

Mệnh đề mệnh đề GROUP BY trong SQL Server

  SELEC T bieuthuc1, bieuthuc2, … bieuthuc_n, 
ham_tong (bieuthuc)
FROM bang
[WHERE dieukien]
GROUP BY bieuthuc1, bieuthuc2, . bieuthuc_n;

Tên biến hoặc giá trị biến

bieuthuc1, bieuthuc2 ,. bieuthuc_n

Biểu thức không nằm trong hàm tổng và phải nằm trong mệnh đề GROUP BY.

ham_tong

Có thể là các hàm như SUM, COUNT, MIN, MAX hoặc AVG.

trạng thái

Bảng để truy xuất bản ghi, phải có ít nhất 1 bảng trong mệnh đề FROM.

WHERE dieukien

Tùy chọn. Điều kiện mà bản ghi phải đáp ứng để được chọn nằm trong mệnh đề WHERE.

Ví dụ:sử dụng hàm SUM

  SELECT ten _sanpham, SUM(soluong) AS 'Tong so luong' 
FROM sanpham
GROUP BY te n_sanpham;

Ví dụ này sử dụng hàm tính toán SUM để trả về tên sản phẩm và tổng số lượng (theo tên sản phẩm).

Vì bạn cung cấp một cột (ten_sanpham) trong câu lệnh SELECT chứ không phải trong hàm SUM, bạn phải sử dụng mệnh đề GROUP BY.

Ví dụ:sử dụng hàm COUNT

  SELECT related ly_id, COUNT (*) AS 'So nhan vien' 
FROM nhanvien
WHERE ho = 'Anderson'
GROUP BY qua nly_id;

Trong ví dụ này, hàm COUNT sẽ trả về quanly_id và số nhân viên có họ là Anderson.

Ví dụ:sử dụng hàm MIN

  SELEC T loai_sanpham, MIN(soluong) AS 'So luong it nhat' 
FROM sanpham
GROUP B Y loai_sanpham;

Mệnh đề GROUP BY được sử dụng với hàm MIN ở trên sẽ trả về loại sản phẩm và số lượng tối thiểu cho loại sản phẩm đó.

Ví dụ:sử dụng hàm MAX

  SELE CT bophan, MAX(luong) AS 'Luong cao nhat' 
FROM nhanvien
GROUP b ophan;

Ví dụ cuối cùng này trả về tên của từng bộ phận và mức lương tối đa trong bộ phận đó.