สอนเขียน SQL รวมข้อมูลที่เหมือนกัน ด้วยคำสั่ง GROUP BY บทความนี้แนะนำการใช้คำสั่ง GROUP BY เพื่อรวมข้อมูลที่เหมือนกันไว้ด้วยกัน พร้อมกับใช้คำสั่ง COUNT เพื่อนับจำนวน rows ที่เหมือนกัน สามารถเขียนคำสั่งได้ดังนี้
ตัวอย่าง ข้อมูลเริ่มต้น ต้องการรวม price ที่เหมือนกัน และนับว่ามีกี่ rows
+----+-------+--------+
| id | title | price |
+----+-------+--------+
| 1 | SQL | 100.00 |
| 2 | PHP | 120.00 |
| 3 | Java | 140.00 |
| 6 | C++ | 140.00 |
+----+-------+--------+
4 rows in set (0.001 sec)
ตัวอย่าง SQL รวมข้อมูลที่เหมือนกัน ด้วยคำสั่ง GROUP BY
SELECT COUNT(*) AS count, price FROM test GROUP BY price;
ผลลัพธ์
+-------+--------+
| count | price |
+-------+--------+
| 1 | 100.00 |
| 1 | 120.00 |
| 2 | 140.00 |
+-------+--------+
3 rows in set (0.001 sec)
จากตัวอย่างใช้คำสั่ง GROUP BY price เพื่อรวมข้อมูล price ที่เหมือนกันเข้าด้วยกัน จากนั้นใช้คำสั่ง COUNT(*) AS count เพื่อนับว่ามีกี่ rows ที่เหมือนกัน โดยตั้งชื่อ column ว่า count จากผลลัพธ์ มี price 140.00 อยู่ 2 rows