그룹 조회
그룹 조회
이 문서에서는 그룹 조회를 사용하여 데이터를 원하는 기준으로 묶어서 조회하는 방법에 대해서 살펴본다.
샘플 데이터
샘플 데이터는 기존과 동일하게 product를 사용한다.
table product
번호 (no)
이름 (name)
종류 (type)
가격 (price)
제조일 (made)
유통기한 (expire)
1
스크류바
아이스크림
1200
2020-05-01
2020-10-01
2
마이쮸
사탕
900
2020-01-01
2021-01-01
3
초코파이
과자
3000
2020-02-01
2020-10-20
4
맛동산
과자
2200
2020-01-05
2020-04-05
5
참이슬
주류
1000
2020-01-01
2020-07-01
6
처음처럼
주류
1000
2020-03-15
2020-08-15
7
바나나킥
과자
1500
2020-05-03
2020-06-03
8
빠삐코
아이스크림
1000
2019-12-01
2020-06-01
9
멘토스
사탕
1200
2020-03-20
2020-12-31
10
오레오
과자
2100
2019-06-01
2020-06-01
생성 구문은 다음과 같다.
그룹화
샘플 데이터들을 그룹으로 묶을 수 있는 방법은 여러 가지가 있다.
종류(type)별로 구분
제조일자(made) 중에서 연도별/월별로 구분
유통기한(expire) 중에서 연도별/월별로 구분
가격(price)을 천원 단위로 구분
이외에도 원하는 방법에 따라 다양하게 그룹화 할 수 있으며, 2,3,4번처럼 항목 값으로 바로 그룹이 되지 않고 계산이 필요한 경우는 코드가 조금 더 복잡해진다.
종류별로 그룹 조회
종류(type)를 이용하여 group을 하기 위한 과정은 다음과 같다.
우선 그룹화에 앞서 항목을 먼저 조회한다.
type
아이스크림
사탕
과자
과자
주류
주류
과자
아이스크림
사탕
과자
조회된 항목들을 보면 중복되는 요소들이 있으며, 중복 제거(distinct)가 아닌 그룹화를 통해 데이터를 묶을 수 있다.
group by type
키워드를 통해 type을 기준으로 묶어주며, 다음과 같은 결과가 조회되는 것을 확인할 수 있다.
type
아이스크림
사탕
과자
주류
이렇게 그룹으로 묶인 상태에서 집계 함수를 통하여 원하는 항목을 그룹에 추가하여 확인할 수 있다.
분류
합계
아이스크림
8800
사탕
2100
과자
2200
주류
2000
분류
개수
아이스크림
2
사탕
2
과자
4
주류
2
이 외에도 avg, min, max 등을 사용할 수 있다.
그룹 조건
그룹을 만들 때 조건을 설정할 수 있다. 이는 WHERE 조건과는 다르며 그룹의 생성 여부에 영향을 미친다.
다음 구문은 분류별 개수가 3개 이상인 그룹을 조회한다.
분류
개수
과자
4
group만 수행했을 때와 다르게 주류, 사탕, 아이스크림은 기준이 충족되지 않아 그룹으로 설정되지 않았음을 알 수 있다.
그룹 함수
오라클 내장 함수 의 그룹 함수 부분을 참조한다.
오라클 내장 함수Last updated