ROLLUP
-group by rollup(col1,col2) = col1별 col2 + col별 col2의 소계 + 총계
CUBE
-group by cube(col1,col2) = co1,co2로 조합가능한 모든 경우별 소계와 총계 (2의n승)
따라서 cube는 rollup과 다르게 인자의 순서가 바껴도 영향이없다.
GROUPING SETS
-group by grouping sets(col1,col2) = col1별 col2의 소계 + col2별 col1의 소계
-묶여진컬럼을 하나로 인식해 grouping sets((col1,col2),col3) 식으로 활용도 가능
GROUPING
-ROLLUP이랑 같이 사용. 해당 칼럼이 ROLLUP 되었을 때 그룹에서 빠져있다면 1을 반환. 즉, GROUP BY ROLLUP 결과로 NULL이 나왔을 때 1을 반환.
-따라서 직접 그룹별 집계를 구하지는 않지만 앞서 말한 ROLLUP, CUBE, GROUPING SETS를 지원하는 역할. 집계가 계산된 결과에 GROUPING(표현식) = 1이 되며, 그 외에는 GROUPING(표현식) = 0이 된다.
💊참조
반응형
'DB 관련' 카테고리의 다른 글
[Oracle] DB 힌트 사용법. hint (0) | 2021.08.11 |
---|---|
[Oracle] UNION / UNION ALL 의 차이점과 주의점 고찰하기 (0) | 2021.05.26 |
[Oracle] default 컬럼을 설정하는 두가지 방법과 주의점 (0) | 2021.05.25 |
[Oracle] DEFAULT 값이 설정된 컬럼에 null 이 insert 되면 뭐가 들어갈까? (0) | 2021.05.20 |
[Oracle] CHAR, VARCHAR 의 비교방식 차이 (0) | 2021.05.20 |
댓글