티스토리 뷰

1. 데이터 분석 개요

 

◈ AGGREGATE FUNCTION

◈ GROUP FUNCTION

◈ WINDOW FUNCTION

 

세 가지 함수 설명
AGGREGATE FUNCTION GROUP FUNCTION 의 한 부분으로 분류.

COUNT, SUM, AVG, MAX, MIN 외 각종 집계 함수들이 포함.
GROUP FUNCTION 결산 개념의 업무를 가지는 원가/판매 시스템의 경우.
그룹 함수를 사용하면 하나의 SQL 로 테이블을 한 번만 읽어서 빠르게 원하는 리포트 작성 가능.
소계/합계 표시를 위해 GROUPING 함수와 CASE 함수를 이용하면,
쉽게 원하는 포맷의 보고서 작성 가능.


ROLLUP, CUBE, GROUPING SETS 함수 포함.
WINDOW FUNCTION 분석 함수순위 함수.

 

 

 

 


2. ROLLUP 함수

 

ROLLUP 에 지정된 GROUPING Columns 의 List 는 Subtotal 을 생성하기 위해 사용되며,

GROUPING Columns 의 수를 N 이라 하면, N+1 Level 의 Subtotal 이 생성된다.

 

(주의)

ROLLUP 의 인수는 계층 구조 이므로, 인수 순서가 바뀌면 수행 결과도 바뀌므로 인수의 순서를 주의해야 한다.

 

 

ROLLUP 함수 사용으로 LEVEL 의 집계가 생성된다.

 

 

 

 

 


3. CUBE 함수

 

ROLLUP 함수에서는 단지 가능한 Subtotal 만 생성하였지만, CUBE 는 결합 가능한 모든 값에 대하여 다차원 집계를 생성한다.

 

CUBE 를 사용할 경우, 내부적으로 Grouping Columns 의 순서를 바꾸어서 또 한 번의 Query 를 추가 수행해야 한다.

 

Grand Total 은 양쪽의 쿼리에서 모두 생성되므로, 한 번의 쿼리에서는 제거되어야만 하므로 ROLLUP 에 비해 시스템의 연산 대상이 많다.

 

 

CUBE 함수의 경우 표시된 인수들에 대한 계층별 집계를 구할 수 있고, 이 때 표시된 인수들 간에는 ROLLUP 과 달리 평등한 관계이므로, 인수의 순서가 바뀌는 경우, 정렬 순서는 바뀌더라도 데이터 결과는 같다.

 

 

CUBE 함수는 가질 수 있는 모든 경우의 수에 대하여 생성하므로,

GROUPING Columns 의 수를 N 이라 하면,  2의 N승 Level 의 Subtotal 이 생성된다.

 

 

 

 

 


4. GROUPING SETS 함수

 

GROUPING SETS 를 이용하여 다양한 소계 집합을 만들 수 있다.

 

GROUPING SETS 에 표시된 인수들에 대한 개별 집계를 구할 수 있고, 표시된 인수들 간에는 ROLLUP 과 달리 평등한 관계이므로 인수의 순서가 바뀌어도 결과는 같다.   ( CUBE 함수와 같음 )

 

 

 

 

 

 


 

댓글