내가 보려고 정리하는 SQL - (9) GROUP BY, HAVING


GROUP BY, HAVING 예시를 담아보았습니다.🧐

GROUP BY

  • 데이터들을 원하는 그룹으로 나눌 수 있음
  • 나누고자 하는 그룹의 컬럼명을 SELECT절과 GROUP BY절 뒤에 추가하면 됨
  • 집계함수와 함께 사용되는 상수는 GROUP BY에 추가하지 않아도 됨

1. 상품별 상품수, 상품가격의 평균, 상품가격의 합 조회

SELECT PRD_NUM, COUNT(*) AS CNT, ROUND(AVG(PRD_PRC)) AS AVG_PRD_PRC, SUM(PRD_PRC) AS SUM_PRD_PRC
FROM BNTEDU.PRODUCT_SALES
GROUP BY PRD_NUM

(조회결과) image


2. 상품별 최저 상품가격, 최고 상품가격 조회

SELECT PRD_NUM, MAX(PRD_PRC) AS MAX_PRD_PRC, MIN(PRD_PRC) AS MIN_PRD_PRC
FROM BNTEDU.PRODUCT_SALES
GROUP BY PRD_NUM

(조회결과) image


HAVING

  • WHERE에서는 집계함수를 사용 할 수 없음
  • HAVING에서는 집계함수를 가지고 조건비교를 할 때 사용되므로, GROUP BY와 함께 사용됨

1. 평균 상품가격이 13,000원 이상인 상품의 상품수, 평균 조회

SELECT PRD_NUM, COUNT(*) AS CNT, ROUND(AVG(PRD_PRC)) AS AVG_PRD_PRC, SUM(PRD_PRC) AS SUM_PRD_PRC
FROM BNTEDU.PRODUCT_SALES
GROUP BY PRD_NUM
HAVING AVG(PRD_PRC) >= 13000

(조회결과) image




© 2020.02. by ysjang0926

Powered by theorydb