ROLLUP 절

  • GROUP BY 절과 함께 사용
  • GROUP BY 절과의 결합
  • 여러 형태의 그룹 정보 동시 전달 가능
  • GOURPING SETS와는 달리 컬럼끼리의 그룹을 직접 전달할 필요 없음
  • ROLLUP에 나열된 컬럼 순서에 따라 다른 결과
  • ROLLUP 컬럼 수 + 1개 레벨(집단) 생성
  • ROLLUP(DEPTNO, POSITION) 수행 시 전체 소계, DEPTNO 소계, DEPTNO, POSITION 소계를 동시에 출력할 수 있다.

ROLLUP과 GROUPING SETS의 비교

  • ROLLUP
select deptno, position, sum(sal)
from emp2
group by rollup(deptno, position);
  • GROUPING SETS
select deptno, position, sum(sal)
from emp2
group by grouping sets(deptno, (deptno, position), ());

둘다 다음과 같은 결과를 나타낸다

  • GROUPING SETS는 컬럼 순서와 상관 없지만,
    ROLLUP은 첫번째 컬럼 단독 소계를 출력하고, 두번째 컬럼의 단독 소계를 출력하지 않으므로 전달 순서를 주의해서 작성해 주어야 한다.

좋은 웹페이지 즐겨찾기