ในการนับจำนวนการเกิดขึ้นจากตาราง คุณสามารถใช้ฟังก์ชันการรวม COUNT() กับ GROUP BY ไวยากรณ์มีดังนี้ −
เลือก yourColumnName,COUNT(*) เป็น anyVariableName จาก yourTableName GROUP BY yourColumnName;
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง CountOccurrences -> ( -> CarId int ไม่ใช่ null auto_increment, -> CarName varchar(30), -> PRIMARY KEY(CarId) -> );Query OK, 0 แถวได้รับผลกระทบ (0.68 วินาที)ก่อน>แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า CountOccurrences(CarName) ('Aston Martin'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที)mysql> แทรกลงในค่า CountOccurrences (CarName) ('BMW'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.20 วินาที) mysql> แทรกลงในค่า CountOccurrences (CarName) ('Aston Martin'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า CountOccurrences (CarName) ('Honda'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า CountOccurrences (CarName) ('BMW'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า CountOccurrences (CarName) ('Audi'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า CountOccurrences (CarName) ('Aston Martin'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า CountOccurrences (CarName) ('Bugatti'); แบบสอบถามตกลง 1 แถวที่ได้รับผลกระทบ (0.22 วินาที)mysql> แทรกลงในค่า CountOccurrences (CarName) ('BMW'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.27 วินาที) mysql> แทรกลงในค่า CountOccurrences (CarName) ('Honda'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงใน ค่า CountOccurrences(CarName) ('Audi');Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า CountOccurrences(CarName) ('BMW'); Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก CountOccurrences;ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-------+--------------+| รหัสรถ | ชื่อรถ |+-------+-------------+| 1 | แอสตัน มาร์ติน || 2 | บีเอ็มดับเบิลยู || 3 | แอสตัน มาร์ติน || 4 | ฮอนด้า || 5 | บีเอ็มดับเบิลยู || 6 | ออดี้ || 7 | แอสตัน มาร์ติน || 8 | บูกัตติ || 9 | บีเอ็มดับเบิลยู || 10 | ฮอนด้า || 11 | ออดี้ || 12 | BMW |+-------+--------------+12 แถวในชุด (0.00 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อนับจำนวนการเกิดขึ้นของแต่ละค่าในคอลัมน์โดยใช้ count() กับ GROUP BY -
mysql> เลือก CarName,count(*) เป็น TotalCount จาก CountOccurrences -> จัดกลุ่มตาม CarName;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+--------------+-----------+| ชื่อรถ | TotalCount |+-------------+-----------+| แอสตัน มาร์ติน | 3 || BMW | 4 || ฮอนด้า | 2 || Audi | 2 || บูกัตติ | 1 |+--------------+-----------+5 แถวในชุด (0.00 วินาที)