ส่วนคำสั่ง GROUP BY ใน SQL Server (Transact-SQL) ถูกใช้ในคำสั่ง SELECT เพื่อดึงข้อมูลจากหลายเร็กคอร์ดและกลุ่มผลลัพธ์ออกเป็น 1 คอลัมน์ขึ้นไป
GROUP BY อนุประโยคใน SQL Server
SELECT bieuthuc1, bieuthuc2, … bieuthuc_n,
ham_tong (bieuthuc)
FROM bang
[WHERE dieukien]
GROUP BY
bieuthuc1, bieuthuc2, . bieuthuc_n;
ชื่อตัวแปรหรือค่าตัวแปร
bieuthuc1, bieuthuc2, . bieutuc_n
นิพจน์ไม่อยู่ในฟังก์ชันผลรวมและต้องอยู่ในอนุประโยค GROUP BY
ham_tong
สามารถใช้เป็นฟังก์ชันเช่น SUM, COUNT, MIN, MAX หรือ AVG
ระบุ
ตารางที่จะดึงข้อมูลระเบียน ต้องมีอย่างน้อย 1 ตารางในส่วนคำสั่ง FROM
WHERE dieukien
ตัวเลือก เงื่อนไขที่บันทึกต้องเป็นไปตามเพื่อเลือกอยู่ในส่วนคำสั่ง WHERE
ตัวอย่างเช่น - ใช้ฟังก์ชัน SUM
SELECT ten_sanpham, SUM(soluong) AS 'Tong so luong'
FROM sanpham
GROUP BY te
n_sanpham;
ตัวอย่างนี้ใช้ฟังก์ชันการคำนวณ SUM เพื่อส่งคืนชื่อผลิตภัณฑ์และปริมาณทั้งหมด (ตามชื่อผลิตภัณฑ์)
เนื่องจากคุณให้คอลัมน์ (ten_sanpham) ในคำสั่ง SELECT และไม่ได้อยู่ในฟังก์ชัน SUM คุณต้องใช้ GROUP BY clause
ตัวอย่างเช่น - ใช้ฟังก์ชัน COUNT
SELECT relatedly_id, COUNT (*) AS 'So nhan vien'
FROM nhanvien
WHERE ho = 'Anderson'
GROUP BY qua
nly_id;
ในตัวอย่างนี้ ฟังก์ชัน COUNT จะส่งกลับ quanly_id และจำนวนพนักงานที่มีนามสกุลคือ Anderson
ตัวอย่างเช่น - ใช้ฟังก์ชัน MIN
SELECT loai_sanpham, MIN(soluong) AS 'So luong it nhat'
FROM sanpham
GROUP B
Y loai_sanpham;
ส่วนคำสั่ง GROUP BY ที่ใช้กับฟังก์ชัน MIN ด้านบนจะคืนค่าประเภทผลิตภัณฑ์และปริมาณขั้นต่ำสำหรับประเภทผลิตภัณฑ์นั้น
ตัวอย่างเช่น - ใช้ฟังก์ชัน MAX
SELECT bophan, MAX(luong) AS 'Luong cao nhat'
FROM nhanvien
GROUP b
ophan;
ตัวอย่างสุดท้ายนี้จะคืนค่าชื่อของแต่ละแผนกและเงินเดือนสูงสุดในแผนก