สามารถทำได้โดยใช้ส่วนคำสั่ง GROUP BY ในคำสั่ง SELECT เราสามารถระบุคอลัมน์เป็นเกณฑ์การจัดกลุ่มโดยใช้อนุประโยค GROUP BY เนื่องจากเกณฑ์การจัดกลุ่มที่ระบุ แถวที่มีค่าเดียวกันในคอลัมน์ใดคอลัมน์หนึ่งจึงถือเป็นกลุ่มเดียว ด้วยวิธีนี้ ชุดผลลัพธ์ที่ส่งคืนโดยคำสั่ง MySQL SELECT จะถูกแบ่งออกเป็นกลุ่ม
ตัวอย่าง
ต่อไปนี้คือตัวอย่างที่ดีเพื่อให้เข้าใจ -
เรามีตารางชื่อ 'พนักงาน' ดังนี้ -
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)
แบบสอบถามด้านบนส่งคืนผลลัพธ์ที่กำหนดเป็นกลุ่มของ รศ.ศ. รวม 1 ในจำนวนและมีเงินเดือนเฉลี่ย 74000 ผศ. ทั้งหมด 2 ในจำนวนและมีเงินเดือนเฉลี่ย 55000 และศาสตราจารย์รวม 2 ในจำนวนและมีเงินเดือนเฉลี่ย 87500 .