데이터베이스/오라클
집계함수 RollUp
pine tree root
2022. 8. 3. 17:52
ROLLUP의 원리
- 위 이미지가 ROLLUP의 원리를 전부 설명해줍니다. 각 번호는 해당 칼럼으로 GROUP BY를 한 결과를 준다는 뜻입니다.
- 첫번째 GROUP BY절 같은 경우는 총 4개의 GROUP을 만든다는 뜻 입니다.
예를 들어, 회원유형, 기명/무기명 여부, 집계 대상 컬럼이 존재한다고 가정을 합시다.
결과값으로 나는
- 회원유형별,
- 회원유형별, 기명/무기명 여부 별
- 전체 집계
를 내고 싶다고 할때,
- 2번 case인 ( 회원 유형, 기명/무기명여부 ) 을 사용한다면, 선투컬럼을 기준으로 회원유형별 Group by 1개 1,2번을 기준으로 회원유형별, 기명/무기명 여부별 한개 그리고 3번인 전체 한가지의 경우를 낼수가 있다.
결론
데이터를 집계하고 싶고, 화면을 동적으로 구성하고 싶다면 RollUp함수를 활용하자!
추가
- Cube 함수는 전체 경우의 수에 대한 집계를 내준다.
- Grouping Sets은 각 경우에 대해서 집계를 한다. 예를 들어 Grouping sets(a,b)라면 a에 대한 Grouping 집계, b에 대한 Grouping 집계이지만 전체 경우에 대해서 집계를 하지는 않는다.