Having
group by를 이용해서 aggregate 을 해보았다.
그런데 만약 월별로 aggregate을 했을 때, 모든 월에 대하여 aggregate 결과를 보고 싶은게 아니라
해당 결과에 대해서 특정 조건을 만족하는 월들을 찾고 싶다고 해보자.
SELECT ~ FROM 과 함께 썼던 WHERE 절은 여기서 이용할 수 없다.
왜냐하면 GROUP BY 절 전에 오는 WHERE 절로 이미 집계(Aggregated)가 된 값들을 기준으로 filter할 수 없기 때문이다. 그래서 이 때 이용하는게 HAVING 절이다.
예 ) 년도 + 월 조합 별 'high' 컬럼의 최댓값을 알고 싶은데, 그 최댓값이 400이 넘어야 한다는 조건을 붙여보자.
# 쿼리문 순서 정리 (Query Clause Order)
1. SELECT
2. FROM
3. WHERE
4. GROUP BY
5. HAVING
6. ORDER BY
+ 참고자료
https://mode.com/sql-tutorial/sql-having/
'Study > SQL' 카테고리의 다른 글
SQL : CASE로 pivot하기 (0) | 2023.07.19 |
---|---|
SQL : Case (0) | 2023.07.14 |
SQL : Distinct (0) | 2023.07.10 |
SQL : Group by (0) | 2023.07.10 |
SQL : Aggregate functions : Count, Sum, Min/Max, Avg (0) | 2023.07.06 |