내가 보려고 정리하는 SQL - (9) GROUP BY, HAVING
in Programming on SQL - Study
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
(조회결과)
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
(조회결과)
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
(조회결과)