[SQLD 도전기] SQL 활용(5) - 그룹 함수(GROUP 함수)
본문 내용은 모두 필자가 공부하며 직접 정리한 내용입니다.
Kdata 데이터자격검정의 SQL 개발자(SQLD) 가이드를 참고하였습니다.
─지난 글 보기─
과목 2 SQL 기본 및 활용
제 2장 SQL 활용
제 5절 그룹 함수(GROUP 함수)
1. 데이터 분석 개요
ㆍANSI/ISO SQL 표준은 데이터 분석을 위해서 다음 세 가지 함수를 정의하고 있다.
- AGGREGATE FUNCTION
- GROUP FUNCTION
- WINDOW FUNCTION
■ (GROUP) AGGREGATE FUNCTION
ㆍ GROUP FUNCTION의 한 부분으로 분류할 수 있다.
ㆍCOUNT, SUM, AVG, MAX, MIN 외 각종 집계 함수들이 포함되어 있다.
■ GROUP FUNCTION
ㆍ집계 함수를 제외하고, 소그룹 간의 소계를 계산하는 ROLLUP 함수,
GROUP BY 항목들 간 다차원적인 소계를 계산할 수 있는 CUBE 함수,
특정 항목에 대한 소계를 계산하는 GROUPING SETS 함수가 있다.
ㆍROLLUP은 GROUP BY의 확장된 형태로 사용하기가 쉬우며
병렬로 수행이 가능하기 때문에 매우 효과적일 뿐 아니라
시간 및 지역처럼 계층적 분류를 포함하고 있는 데이터의 집계에 적합하도록 되어 있다.
ㆍCUBE는 결합 가능한 모든 값에 대하여 다차원적인 집계를 생성하게 되므로
ROLLUP에 비해 다양한 데이터를 얻는 장점이 있는 반면에 시스템에 부하를 많이 주는 단점이 있다.
ㆍGROUPING SETS는 원하는 부분의 소계만 손쉽게 추출할 수 있는 장점이 있다.
ㆍROLLUP, CUBE, GROUPING SETS 결과에 대한 정렬이 필요한 경우는 ORDER BY 절에 정렬 칼럼을 명시해야 한다.
■ WINDOW FUNCTION
ㆍ분석 함수(ANALYTIC FUNCTION)나 순위 함수(RANK FUNCTION)로도 알려져 있는
윈도우 함수는 데이터웨어하우스에서 발전한 기능이다.
2. ROLLUP 함수
3. CUBE 함수
4. GROUPING SETS 함수
다음에는 윈도우 함수(WINDOW 함수)에 관한 내용을 정리하여 포스팅하겠습니다.