반응형
SMALL
1. ROLLUP 함수
GROUP BY ROLLUP(A): 전체합계, A소계
GROUP BY ROLLUP(A,B,C): 전체합계, A소계, AB소계, ABC소계
→ A가 기준
→ 증가되는 형태이기 때문에 AC소계 x
2. CUBE 함수
GROUP BY CUBE(A): 전체합계, A소계
GROUP BY CUBE(A,B,C): 전체합계, A소계, B소계, C소계, AB소계, AC소계, BC소계, ABC소계
→ 2^n 만큼 결과 수
→ 모든 조합의 합계를 생성하기 때문에 시스템에 무리를 줄 수 있다.
3. GROUPING SETS 함수
GROUP BY GROUPING SETS(A): A소계
GROUP BY GROUPING SETS(A,B,C): A소계, B소계, C소계
*GROUPING SETS ((A,B),A,()) => (A,B),(A),() == ROLLUP (A,B)와 동일
-> 순서를 바꿔보면 (),(A),AB) = ROLLUP(A,B)
GROUPING SETS (A,ROLLUP(B)) => A,B,()
(좌) ROLLUP 함수 <- 3개 컬럼 / (우) CUBE 함수 <- 2개컬럼
어떤 그룹함수인지 쉽게 구분하는법
1. null 찾기
2. 총합 행 찾기
총합행이 있으면 O → rollup(한쪽,계층), cube(양쪽)
총합행이 없으면 X → grouping sets
반응형
LIST
'DB > SQL 기초' 카테고리의 다른 글
WHERE 절 - IN 같은 EXIST, NOT EXIST 함수 (0) | 2022.08.14 |
---|---|
TCL 정리 - commit, rollback, savepoint (*auto_commit) (0) | 2022.08.14 |
Merge 문 - insert, update, delete 한번에 해결할 때 (0) | 2022.08.13 |
데이터 모델링이란? (0) | 2022.08.13 |
데이터에 따른 성능 - row chaining, row migration 저장방식 (0) | 2022.08.13 |