망각에 재주 있는 나를 위해 기록하는 곳.

그룹 함수(Group Function) 본문

DB

그룹 함수(Group Function)

baobabtree 2022. 3. 20. 05:46

그룹 함수(Group Function)

테이블의 전체 행을 하나 이상의 컬럼을 기준으로 컬럼 값에 따라 그룹화하여 그룹별로 결과를 출력하는 함수.

 

그룹 함수의 종류로 ROLLUP / CUBE / GROUPING SETS가 있다.

 

1. ROLLUP

ROLLUP에 의해 설정된 컬럼은 소계 등 중간집계 값을 뽑아내기 위한 그룹 함수.

ROLLUP의 지정 컬럼은 계층별로 구성되기 때문에 순서가 바뀌면 수행 결과가 바뀜.

 

EX)

SELECT *

FROM 테이블

GROUP BY 컬럼.... ROLLUP 컬럼....

 

소계 집계 대상이 되는 컬럼을 ROLLUP 뒤에 쓰고, 대상이 아니면 GROUP BY 뒤에 씀.

 

 

2. CUBE

결합 가능한 모든 값에 대해 다차원 집계를 생성하는 그룹 함수.

연산이 많아 시스템에 부담을 주기 쉬움.

 

EX)

SELECT *

FROM 테이블

GROUP BY 컬럼... CUBE 컬럼...

 

 

3. GROUPING SETS

집계 대상 컬럼들에 대한 개별 집계를 구할 수 있으며, ROLLUP이나 CUBE와 달리 컬림 간 순서와 무관한 결과를 얻을 수 있는 그룹 함수.

개별 집계를 구할 수 있어서 ROLLUP의 계층구조와 달리 평등한 관계라 순서에 상관없이 동일한 결과를 얻음.

 

EX)

SELECT *

FROM 테이블

GROUP BY 컬럼... GROUPING SETS 컬럼...