DataBase/MySql

[MySql] HAVING절

살찐만두 2023. 2. 24. 13:51
728x90

HAVING

 

예를 들어서, 출력 된 결과 중에서 총 구매액이 1000이상인 회원에게만 어떤 조건을 주려한다면 

아마 WHERE 절에 조건을 줘야하나 싶을거다.

SELECT mem_id, SUM(price*amount) "총 구매금액"

FROM buy

WHERE SUM(price*amount) > 1000;

GROUP BY mem_id;

그 생각대로 이렇게 하면 아마 바로 오류가 날 것이다.

 

이럴때 WHERE 대신 사용하는 것이 HAVING절이다.

HAVING은 WHERE과 비슷한 개념으로 조건을 제한하는 것이지만,

집계함수에 대해서 조건을 제한하는 것이라고 생각하면 된다.

그리고 HAVING은 GROUP BY절 다음에 나와야 한다.

SELECT mem_id, SUM(price*amount) "총 구매금액"

FROM buy

GROUP BY mem_id

HAVING SUM(price*amount) > 1000;

 

HAVING절은 이렇게 쓰는거다!

728x90

'DataBase > MySql' 카테고리의 다른 글

[MySql] TINYINT  (0) 2023.02.27
[MySql] LIMIT  (0) 2023.02.24
[MySql] IN()  (0) 2023.02.24
[Mysql] DB기준 date로 insert하기  (2) 2022.04.29
[MySQL] 중복값 쿼리  (4) 2022.04.29