ตามที่เราทราบ GROUP BY clause ในคำสั่ง SELECT สามารถแบ่งชุดผลลัพธ์ที่ส่งคืนโดย MySQL เป็นกลุ่ม ตอนนี้ หากเราต้องการส่งคืนเฉพาะบางกลุ่ม จำเป็นต้องใช้เกณฑ์การกรองที่ระดับกลุ่ม สามารถทำได้โดยใช้ส่วนคำสั่ง HAVING ภายในส่วนคำสั่ง GROUP BY ตัวอย่างด้านล่างจะแสดงให้เห็น −
ตัวอย่าง
สมมติว่าเราต้องการคืนเฉพาะกลุ่มที่มีเงินเดือนเฉลี่ย 55000 จากนั้นเราจำเป็นต้องใช้เกณฑ์การกรองดังต่อไปนี้ใน HAVING clause –
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)