เราต้องใช้ GROUP BY clause ถ้าเราต้องการใช้ฟังก์ชันกลุ่มกับฟิลด์ที่ไม่ใช่กลุ่มในแบบสอบถาม SELECT ไวยากรณ์ทั่วไปสามารถเป็นดังนี้
ไวยากรณ์
SELECT group_function1,…, non-group-column1,… from table_name GROUP BY column_name;
ตัวอย่าง
mysql> Select COUNT(*), id from Student GROUP BY id; +----------+------+ | COUNT(*) | id | +----------+------+ | 1 | 1 | | 1 | 2 | | 1 | 15 | | 1 | 17 | | 1 | 20 | +----------+------+ 5 rows in set (0.00 sec) mysql> Select COUNT(*), address from Student GROUP BY id; +----------+---------+ | COUNT(*) | address | +----------+---------+ | 1 | Delhi | | 1 | Mumbai | | 1 | Delhi | | 1 | Shimla | | 1 | Jaipur | +----------+---------+ 5 rows in set (0.00 sec)
ฟิลด์หลัง GROUP BY clause สามารถแตกต่างจากฟิลด์ที่ไม่ใช่กลุ่มที่ระบุในแบบสอบถาม SELECT