앞의 예제는 2001년 1월 1일을 기준으로 이전과 이후에 고용한 직원들의 평균 임금과 고용 기간 카테고리를 산출한다.
WHERE와 HAVING 키워드는 추출한 결과를 필터링한다. WHERE는 그룹핑하기 전에 실행하고, HAVING은 그룹핑한 후에 실행한다.
SELECT AVG(salary),MIN(hired),MAX(hired) FROM employee
GROUP BY YEAR(hired)
HAVING MIN(hired)>'2001-01-01';
>>>
+-------------+------------+------------+
| AVG(salary) | MIN(hired) | MAX(hired) |
+-------------+------------+------------+
| 44500 | 2011-01-01 | 2011-11-11 |
| 36000 | 2016-01-09 | 2016-01-09 |
+-------------+------------+------------+
2 rows in set (0.00 sec)
앞의 예제는 2001년 1월 1일 이후에 고용한 직원들을 고용연도를 기준으로 묶고, 각 그룹의 평균 임금과 최고·최신 고용일자를 집계한다.