GROUP BY ในคำสั่ง SELECT แบ่งชุดผลลัพธ์เป็นกลุ่ม หากต้องการคืนเฉพาะกลุ่มบางกลุ่ม ต้องกำหนดเงื่อนไขกรองที่ระดับกลุ่ม ทำได้ด้วย HAVING ภายใน GROUP BY ตัวอย่างด้านล่างจะสาธิต:
ตัวอย่าง
สมมติต้องการคืนเฉพาะกลุ่มที่มีเงินเดือนเฉลี่ย 55000 ใช้เงื่อนไขใน HAVING ดังนี้:
mysql> SELECT COUNT(*), AVG(salary), Designation FROM employees GROUP BY designation HAVING AVG(salary) = 55000; +----------+-------------+-------------+ | COUNT(*) | AVG(salary) | Designation | +----------+-------------+-------------+ | 2 | 55000.0000 | Asst.Prof | +----------+-------------+-------------+ 1 row in set (0.00 sec)