SQL : Having

Jiwon Kim
|2023. 7. 14. 16:14

 

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