ทำได้โดยใช้ GROUP BY ในคำสั่ง SELECT สามารถระบุคอลัมน์เป็นเกณฑ์การจัดกลุ่ม ด้วย GROUP BY แถวที่มีค่าเหมือนกันในคอลัมน์ที่ระบุจะถูกจัดเป็นกลุ่มเดียวกัน ดังนั้นชุดผลลัพธ์จะถูกแบ่งเป็นกลุ่มๆ
ตัวอย่าง
สมมติมีตาราง employees ดังนี้:
mysql> SELECT * FROM employees; +------+-------------+--------+------------+ | id | designation | Salary | DoJ | +------+-------------+--------+------------+ | 100 | Asst.Prof | 50000 | 2016-06-15 | | 300 | Prof | 85000 | 2010-05-18 | | 250 | Asso.Prof | 74000 | 2013-02-12 | | 400 | Prof | 90000 | 2009-05-19 | | 200 | Asst.Prof | 60000 | 2015-05-11 | +------+-------------+--------+------------+ 5 rows in set (0.00 sec)
แบ่งผลลัพธ์เป็นกลุ่มด้วยคำสั่งต่อไปนี้:
mysql> SELECT designation, COUNT(*), AVG(salary) FROM employees GROUP BY designation; +-------------+----------+-------------+ | designation | COUNT(*) | AVG(salary) | +-------------+----------+-------------+ | Asso.Prof | 1 | 74000.0000 | | Asst.Prof | 2 | 55000.0000 | | Prof | 2 | 87500.0000 | +-------------+----------+-------------+ 3 rows in set (0.00 sec)
คำสั่งคืนกลุ่ม Asso.Prof จำนวน 1 คน เงินเดือนเฉลี่ย 74000, Asst.Prof จำนวน 2 คน เงินเดือนเฉลี่ย 55000, Prof จำนวน 2 คน เงินเดือนเฉลี่ย 87500