본문 바로가기

데이터베이스/오라클

집계함수 RollUp

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 집계이지만 전체 경우에 대해서 집계를 하지는 않는다.

'데이터베이스 > 오라클' 카테고리의 다른 글

테이블의 설계가 잘되었다라는걸 어떻게 증명할수 있을까?  (0) 2022.08.03
Lock의 종류  (0) 2022.07.10
Partition Index  (0) 2022.03.09
Batch I/O  (0) 2022.03.09
바인드 변수  (0) 2022.03.09