Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

GROUP BY อนุประโยคใน SQL Server

ส่วนคำสั่ง GROUP BY ใน SQL Server (Transact-SQL) ถูกใช้ในคำสั่ง SELECT เพื่อดึงข้อมูลจากหลายเร็กคอร์ดและกลุ่มผลลัพธ์ออกเป็น 1 คอลัมน์ขึ้นไป

GROUP BY อนุประโยคใน SQL Server

  SELEC T 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 related ly_id, COUNT (*) AS 'So nhan vien' 
FROM nhanvien
WHERE ho = 'Anderson'
GROUP BY qua nly_id;

ในตัวอย่างนี้ ฟังก์ชัน COUNT จะส่งกลับ quanly_id และจำนวนพนักงานที่มีนามสกุลคือ Anderson

ตัวอย่างเช่น - ใช้ฟังก์ชัน MIN

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

ส่วนคำสั่ง GROUP BY ที่ใช้กับฟังก์ชัน MIN ด้านบนจะคืนค่าประเภทผลิตภัณฑ์และปริมาณขั้นต่ำสำหรับประเภทผลิตภัณฑ์นั้น

ตัวอย่างเช่น - ใช้ฟังก์ชัน MAX

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

ตัวอย่างสุดท้ายนี้จะคืนค่าชื่อของแต่ละแผนกและเงินเดือนสูงสุดในแผนก