Như chúng ta biết, mệnh đề GROUP BY trong câu lệnh SELECT có thể chia tập kết quả, được trả về bởi MySQL, thành các nhóm. Bây giờ nếu chúng ta muốn chỉ trả về một số nhóm cụ thể, thì cần áp dụng tiêu chí lọc ở cấp độ nhóm. Việc này có thể thực hiện bằng cách sử dụng mệnh đề HAVING bên trong mệnh đề GROUP BY. Ví dụ dưới đây sẽ minh họa:
Ví dụ
Giả sử chúng ta muốn chỉ trả về nhóm có mức lương trung bình là 55000, thì chúng ta cần sử dụng tiêu chí lọc như sau trong mệnh đề 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)