บทช่วยสอนMySQL

หน้าแรกของ MySQL แนะนำ MySQL MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WHERE MySQL และหรือไม่ใช่ MySQL สั่งซื้อโดย MySQL INSERT INTO ค่า NULL ของ MySQL MySQL UPDATE MySQL ลบ MySQL LIMIT MySQL MIN และ MAX MySQL COUNT, AVG, SUM MySQL ชอบ MySQL Wildcards MySQL IN MySQL ระหว่าง MySQL นามแฝง MySQL เข้าร่วม เข้าร่วม MySQL ภายใน MySQL ซ้ายเข้าร่วม MySQL ขวาเข้าร่วม MySQL CROSS เข้าร่วม MySQL เข้าร่วมด้วยตนเอง MySQL UNION กลุ่ม MySQL โดย MySQL มี MySQL EXISTS MySQL ใด ๆ ทั้งหมด MySQL INSERT SELECT กรณี MySQL ฟังก์ชั่น MySQL Null ความคิดเห็น MySQL ตัวดำเนินการ MySQL

ฐานข้อมูลMySQL

MySQL สร้าง DB MySQL Drop DB MySQL สร้างตาราง MySQL Drop Table MySQL Alter Table ข้อจำกัดของ MySQL MySQL ไม่ว่าง MySQL Unique คีย์หลัก MySQL MySQL Foreign Key MySQL Check MySQL Default MySQL สร้างดัชนี MySQL Auto Increment MySQL Dates มุมมอง MySQL

การอ้างอิงMySQL

ประเภทข้อมูล MySQL ฟังก์ชัน MySQL

ตัวอย่างMySQL

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

MySQL GROUP BY Statement


MySQL 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


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

คำสั่ง 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
;