Jin's Dev Story

[PostgreSQL] PostgreSQL HAVING 절 본문

Database/PostgreSQL

[PostgreSQL] PostgreSQL HAVING 절

woojin._. 2024. 6. 11. 10:35

HAVING 절

  • GROUP BY 절과 함께 HAVING 절을 사용하여 GROUP BY의 결과를 특정 조건으로 필터링하는 기능

 

기본 문법

  • WHERE 절과는 다른 건 집계 함수의 결과를 가지고 조건을 적용하여 조회
SELECT
    COLUMN_1,
    집계함수(COLUMN_2)
FROM TABLE_NAME
GROUP BY COLUMN_1
HAVING 조건식;

 

실습

 

 1) PAYMENT 테이블을 CUSTOMER_ID 기준으로 GROUP BY 하고 SUM(AMOUNT)가 200을 초과하는 값을 조회

SELECT CUSTOMER_ID, SUM(AMOUNT) AS AMOUNT_SUM
FROM PAYMENT
GROUP BY CUSTOMER_ID
HAVING SUM(AMOUNT) > 200;

 

 2) CUSTOMER 테이블을 STORE_ID 기준으로 GROUP BY 하여 조회

SELECT STORE_ID, COUNT(CUSTOMER_ID) AS COUNT
FROM CUSTOMER
GROUP BY STORE_ID;

 

 3) CUSTOMER 테이블을 STORE_ID 기준으로 GROUP BY 하여 조회. COUNT(CUSTOMER_ID)의 결과가 300을 초과하는 값을 조회

SELECT STORE_ID, COUNT(CUSTOMER_ID) AS COUNT
FROM CUSTOMER
GROUP BY STORE_ID
HAVING COUNT(CUSTOMER_ID) > 300;