GROUP FUNCTION 는
1. 소그룹 간의 소계를 계산하는 ROLLUP, - 글 바로가기
2. 다차원적인 소계를 계산하는 CUBE, - 글 바로가기
3. 특정항목에 대한 소계를 계산하는 GROUPING SETS 함수 총 3가지가 있습니다.
3. GROUPING SETS 함수
select * from test1
예제에 사용할 test1 테이블
그룹핑셋은 소계를 내는 함수가 아닙니다.
그룹핑에 대해서 개별적인 합계를 내어주고, 이를 UNION해준것과 같은 결과를 냅니다.
ex >COL1 , COL2 그룹핑셋
select COL1
,COL2
,COUNT(*) 행수
from test1
group by GROUPING SETS(COL1,COL2)
order by col1;
COL1 기준 합, COL2 기준 합을 구해서 UNION하기 때문에, CUBE와 같은 총계를 낼수없습니다.
특정 하나의 컬럼을 기준으로 묶어 Aggregation (sum avg count 등) 함수를 사용하는데 이용합니다.
실전 예제 >
-- grouping 합계부분만 1반환
select grouping(sex_cd)
,(select cd_nm from c_cmn_dtl_cd where cmn_cd ='SEX_CD' and SEX_CD=CMN_DTL_CD) 성별
,AGES_DIV_CD || '대' 연령대
,count(AGES_DIV_CD) 고객수
from c_Cust_base
group by rollup (AGES_DIV_CD,sex_cd)
order by AGES_DIV_CD
;
남자고객 4800여명, 여자고객 5200여명의 통계치를 볼수있고,
어떤 연령대가 많은지 분포를 한번에 확인이 가능하도록 사용해보았습니다.
이상 그룹함수 포스팅마치겠습니다. 감삼당!
'Work > DataBase' 카테고리의 다른 글
[Oracle] 삭제된 테이블 복구 (0) | 2020.11.25 |
---|---|
[SQLD] SQLD 공부법 (1주) - 단기 합격 , 전공자 (3) | 2020.07.02 |
[SQLD] 그룹함수 - CUBE 예문, 총정리 (0) | 2020.07.02 |
[SQLD] 그룹함수 - ROLLUP 예문, 총정리, 사용시 주의사항 (0) | 2020.07.02 |
[SQLD] 윈도우함수 - 비율함수 (ratio_to_report, percent_rank, cume_dist, ntile) (0) | 2020.06.28 |