728x90
그룹별 조건 검색 - GROUP BY, HAVING
- 일반적인 검색조건 : WHERE 절에 작성
- 집계 함수는 WHERE 절에서는 사용할 수 없음
- 그룹에 대한 조건 : HAVING 절에 작성
- 집계 함수는 HAVING 절에서 사용 가능
- 예제에 사용할 데이터베이스
- Orders 테이블
GROUP BY … HAVING
- Orders 테이블에서 2건 이상 주문된 제품(item) 별로 제품의 주문건수와 가장 많이 주문된 개수를 검색하시오.
(주문건수는 주문건수, 가장 많이 주문한 개수는 최대주문수로 표기)- 주문한 제품(item)별 : GROUP BY item HAVING COUNT(*) >= 2
- 제품별 주문건수 : COUNT( * )
- 최대주문수 : MAX( qty )
SELECT item, COUNT( * ) AS 주문건수, MAX( qty ) AS 최대주문수
FROM orders
GROUP BY item HAVING COUNT( * ) >= 2;
- Customer 테이블에서 적립금 평균이 5000원 이상인 등급 (grade)에 대해 등급별 고객 수와 적립금 평균을 검색하시오. ( 등급별 고객수를 고객수, 적립금 평균을 평균적립금으로 표기)
- 등급별 그룹 : GROUP BY grade
- 적립금 평균이 5000원 이상 : AVG( credit ) >= 5000
- 등급별 고객수 : COUNT( * )
- 적립금 평균 : AVG( credit )
SELECT grade AS 등급, COUNT( * ) AS 고객수, AVG( credit ) AS 평균적립금
FROM customer
GROUP BY grade HAVING AVG( credit ) >= 5000;
728x90
'프로그래밍 > Database' 카테고리의 다른 글
[Database] 속성의 데이터 타입 (0) | 2020.04.13 |
---|---|
[Database] 조인 검색 - JOIN (0) | 2020.04.13 |
[Database] 그룹별 검색 - GROUP BY (0) | 2020.04.13 |
[Database] 집계 함수 - AVG(평균), SUM(합), COUNT (0) | 2020.04.07 |
[Database] 정렬 검색 - ORDER BY 를 이용한 검색 (0) | 2020.04.07 |