กวดวิชาSQL

SQL HOME บทนำ SQL ไวยากรณ์ SQL SQL Select SQL Select Distinct SQL ที่ไหน SQL และหรือไม่ใช่ คำสั่ง SQL โดย SQL แทรกลงใน ค่าว่างของ SQL SQL Update SQL Delete SQL Select Top SQL Min และ Max SQL Count, Avg, Sum SQL Like SQL Wildcards SQL ใน SQL ระหว่าง นามแฝงของ SQL การรวม SQL SQL Inner Join SQL เข้าร่วมด้านซ้าย SQL Right Join SQL เข้าร่วมแบบเต็ม เข้าร่วมด้วยตนเองของ SQL SQL Union กลุ่ม SQL โดย SQL มี SQL Exists SQL ใด ๆ ทั้งหมด SQL Select Into แทรก SQL ลงใน Select กรณี SQL ฟังก์ชัน SQL Null กระบวนงานที่เก็บไว้ของ SQL ข้อคิดเห็นของ SQL ตัวดำเนินการ SQL

ฐานข้อมูลSQL

SQL สร้าง DB SQL Drop DB ฐานข้อมูลสำรองของ SQL SQL สร้างตาราง SQL Drop Table SQL Alter Table ข้อจำกัดของ SQL SQL ไม่ใช่ Null SQL Unique คีย์หลักของ SQL คีย์ต่างประเทศของ SQL SQL Check SQL Default ดัชนี SQL SQL Auto Increment SQL Dates มุมมอง SQL การฉีด SQL SQL Hosting ประเภทข้อมูล SQL

การอ้างอิงSQL

คีย์เวิร์ด SQL ฟังก์ชัน MySQL ฟังก์ชันเซิร์ฟเวอร์ SQL ฟังก์ชัน MS Access SQL Quick Ref

ตัวอย่างSQL

ตัวอย่าง SQL แบบทดสอบ SQL แบบฝึกหัด SQL ใบรับรอง SQL

SQL GROUP BY Statement


SQL GROUP BY Statement

ใบGROUP BYแจ้งยอดจะจัดกลุ่มแถวที่มีค่าเหมือนกันเป็นแถวสรุป เช่น "ค้นหาจำนวนลูกค้าในแต่ละประเทศ"

คำGROUP BYสั่งนี้มักใช้กับฟังก์ชันการรวม ( COUNT(), MAX(), MIN(), SUM(), AVG()) เพื่อจัดกลุ่มชุดผลลัพธ์ตามคอลัมน์อย่างน้อยหนึ่งคอลัมน์

จัดกลุ่มตามไวยากรณ์

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

ฐานข้อมูลสาธิต

ด้านล่างนี้คือการเลือกจากตาราง "ลูกค้า" ในฐานข้อมูลตัวอย่าง Northwind:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


กลุ่ม SQL ตามตัวอย่าง

คำสั่ง SQL ต่อไปนี้แสดงจำนวนลูกค้าในแต่ละประเทศ:

ตัวอย่าง

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

คำสั่ง SQL ต่อไปนี้แสดงจำนวนลูกค้าในแต่ละประเทศ เรียงลำดับจากมากไปน้อย:

ตัวอย่าง

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;

ฐานข้อมูลสาธิต

ด้านล่างนี้คือการเลือกจากตาราง "คำสั่งซื้อ" ในฐานข้อมูลตัวอย่าง Northwind:

OrderID CustomerID EmployeeID OrderDate ShipperID
10248 90 5 1996-07-04 3
10249 81 6 1996-07-05 1
10250 34 4 1996-07-08 2

และการเลือกจากตาราง "ผู้ส่งสินค้า":

ShipperID ShipperName
1 Speedy Express
2 United Package
3 Federal Shipping

GROUP BY กับ JOIN ตัวอย่าง

คำสั่ง SQL ต่อไปนี้แสดงรายการจำนวนคำสั่งซื้อที่ส่งโดยผู้ส่งแต่ละราย:

ตัวอย่าง

SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
GROUP BY ShipperName;

ทดสอบตัวเองด้วยแบบฝึกหัด

ออกกำลังกาย:

รายชื่อลูกค้าในแต่ละประเทศ

SELECT (CustomerID),
Country
FROM Customers
;