728x90
그룹별 검색 - GROUP BY
- 특정 속성 값이 같은 투플을 모아 그룹을 만들어 검색
- GROUP BY 키워드를 사용
- 기본 형식
SELECT [ ALL ㅣ DISTINCT ] 속성_리스트
FROM 테이블_리스트
[ WHERE 조건 ]
[ GROUP BY 속성_리스트 [ HAVING 조건 ] ]
[ ORDER BY 속성_리스트 [ ASC ㅣ DESC ] ] ;
- 예제에 사용할 데이터베이스
- Orders 테이블
GROUP BY
- 질의 : Orders 테이블에서 주문 제품별 (item) 수량의 합계를 검색하시오.
SELECT item, SUM( qty ) as 총주문수량
FROM orders
GROUP BY item;
- [TIP]
- 그룹별로 검색할 때, 그룹을 나누는 기준 속성을 SELECT 절에 작성하는 것이 좋다
- SELECT 절에 작성하지 않아도 실행됨 ==> 어떤 그룹에 대한 검색 결과인지 확인하기 어렵다.
- 질의 : 그룹을 위한 기준 속성(item)을 SELECT 절에 포함시키는 않은 경우
SELECT SUM( qty ) as 총주문수량
FROM orders
GROUP BY item;
- 질의 : Orders 테이블에서 주문한 제품(item)별로 주문건수와 가장 많이 주문한 개수(qty)를 검색하시오. (주문건수는 주문건수, 가장 많이 주문한 개수는 최대주문수로 표기)
- 주문한 제품(item)별 : GROUP BY item
- 제품별 주문건수 : COUNT( * )
- 최대주문수 : MAX( qty )
SELECT item, COUNT( * ) AS 주문건수, MAX( qty ) AS 최대주문수
FROM orders
GROUP BY item;
728x90
'프로그래밍 > Database' 카테고리의 다른 글
[Database] 조인 검색 - JOIN (0) | 2020.04.13 |
---|---|
[Database] 그룹별 조건 검색 - GROUP BY, HAVING (0) | 2020.04.13 |
[Database] 집계 함수 - AVG(평균), SUM(합), COUNT (0) | 2020.04.07 |
[Database] 정렬 검색 - ORDER BY 를 이용한 검색 (0) | 2020.04.07 |
[Database] 조건 검색 - NULL 을 이용한 검색 (0) | 2020.04.07 |