본문 바로가기
자격증/SQLD

SQL 기본 및 활용 - SQL활용 - 그룹 함수

by Love of fate 2024. 3. 5.
728x90
반응형

그룹 함수

- 데이터를 GROUP BY하여 나타낼 수 있는 데이터를 구하는 함수이다. 역할에 따라 구분해보면 집계 함수와 소계(총계) 함수로 나눌 수 있다.

 

(1) ROLLUP

 - 소그룹 간의 소계 및 총계를 계산하는 함수이다. 

ROLLUP(A) A로 그룹핑 
총합계
ROLLUP(A, B) A, B 로 그룹핑
A로 그룹핑
총합계
ROLLUP(A, B, C) A, B, C로 그룹핑
A, B로 그룹핑
A로 그룹핑
총합계

 

반응형

(2) CUBE

 - 소그룹 간의 소계 및 총계를 다차원적으로 계산할 수 있는 함수이다. GROUP BY가 일방향으로 그룹하며 소계를 구했다면 CUBE는 조합할 수 있는 모든 그룹에 대한 소계를 집계한다.

CUBE(A) A로 그룹핑 
총합계
CUBE(A, B)  A, B로 그룹핑
A로 그룹핑
B고 그룹핑
총합계
CUBE(A,B,C) A, B, C로 그룹핑
A, B로 그룹핑
A, C로 그룹핑
B, C로 그룹핑
A로 그룹핑
B로 그룹핑
C로 그룹핑
총합계

 

 

(3) GROUPING SETS

 - 특정 항목에 대한 소계를 계산하는 함수이다. 인자값으로 ROLLUP이나 CUBE를 사용할 수도 있다. 

GROUPING SETS(A,B) A로 그룹핑
B로 그룹핑
GROUPING SETS(A,B,()) A로 그룹핑
B로 그룹핑
총합계
GROUPING SETS(A, ROLLUP(B)) A로 그룹핑
B로 그룹핑
총합계
GROUPING SETS(A, ROLLUP(B, C)) A로 그룹핑
B, C로 그룹핑
B로 그룹핑
총합계
GROUPING SETS(A, B, ROLLUP(C)) A로 그룹핑
B로 그룹핑
C로 그룹핑
총합계

 

 

(4) GROUPING

 - GROUPING 함수는 ROLLUP, CUBE, GROUPING SETS 등과 함께 쓰이며 소계를 나타내는 Row를 구분할 수 있게 해준다. GROUPING 함수를 이용하면 원하는 위치에 원하는 텍스트를 출력할 수 있다. 

 

* 소계가 계산된 행에서 결과값 1을 출력하는 함수이고 GROUPING SET는 인수들에 대한 계별 집계를 구하는 함수이다.

728x90
반응형