프로그래밍/SQL / / 2022. 10. 2. 10:07

[SQL] 그룹 함수, Grouping sets(), Cube(), Rollup()

SQL 그룹함수
SQL 그룹함수

1. 그룹 함수 (GROUP FUNCTION)

 

1) 특정 집합의 소계, 중계, 합계, 총 합계를 구할 수 있다.

2) 이런 합계를 구하기 위해서는 다양한 노력들이 필요하나 그룹함수를 이용하여 간단하게 처리를 할 수 있다.



2. 그룹 함수 종류

 

1) GROUPING SETS() : 특정 항목에 대한 소계를 계산하는 기능이다.

2) CUBE()

- 다차원적인 소계를 계산하는 기능이다.

- 결합 가능한 모든 값에 대해서 다차원 집계를 생성한다.

- CUBE 함수 내에 컬럼이 n개라면 2의 N제곱근만큼의 SUBTOTAL이 생성된다.

 

3) ROLLUP()

- 소 그룹간의 소계를 계산하는 기능이다

- GROUPING 컬럼의 수가 N이라고 할 때 N+1의 SUBTOTAL이 생성된다.

- ROLLUP함수 내의 인자의 순서가 바뀌면 결과도 바뀌게 된다. (ROLLUP은 계층 구조이다.)

 

3. CUBE()와 ROLLUP() 비교 (인자가 두 개인 경우)

 

CUBE(C1, C2)

=> (C1, C2), (C1), (C2), ( )

 

ROLLUP

=> (C1, C2), (C1), ( )

4. CUBE()와 ROLLUP() 비교 (인자가 세 개인 경우)

CUBE(C1, C2, C3) ROLLUP(C1, C2, C3)
(C1, C2, C3) (C1, C2, C3)
(C1, C2) (C1, C2)
(C1, C3)  
(C2, C3)  
(C1) (C1)
(C2)  
(C3)  
( ) ( )

 

LIST
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유