그룹 키를 오른쪽부터 접어 가며 상세, 소계, 총계를 차례로 붙입니다

ROLLUP(category, brand) 은 가능한 모든 조합을 만드는 것이 아니라, 현재 그룹 키에서 맨 오른쪽 컬럼을 하나씩 제거하며 계층형 집계를 만듭니다.

일반화된 경로
(A,B,C) → (A,B) → (A) → ()

집계 키가 줄어드는 경로

컬럼 순서가 집계 계층을 결정합니다. 이 예시에서는 brand 가 먼저 접히고, 마지막에 category 도 제거됩니다.

1단계: 상세 그룹 (category, brand)

전자-삼성, 전자-LG처럼 실제 조합별 합계를 계산합니다.

다음 단계: brand 제거
2단계: 카테고리 소계 (category)

brand = NULL 로 표시되며, 같은 카테고리의 상세 행들을 하나로 합친 결과입니다.

다음 단계: category 제거
3단계: 전체 총계 ()

category = NULL, brand = NULL 이면 모든 그룹을 합친 최종 합계입니다.

결과 행을 읽는 방법

동일 카테고리의 상세 행이 먼저 나오고, 바로 뒤에 그 카테고리 소계가 붙습니다. 마지막 한 줄은 전체 총계입니다.

수준
group key
합계
해석
상세
전자 / 삼성category, brand 둘 다 유지
150000
전자 카테고리 안의 삼성 브랜드 합계
상세
전자 / LG다른 brand 조합도 같은 수준
100000
전자 카테고리 안의 LG 브랜드 합계
소계
전자 / NULLbrand 가 제거된 상태
250000
전자 카테고리 전체 소계
상세
식품 / CJ다음 카테고리의 상세 조합
8000
식품 카테고리 안의 CJ 브랜드 합계
소계
식품 / NULL식품 카테고리만 남은 상태
8000
식품 카테고리 전체 소계
총계
NULL / NULL모든 그룹 키가 제거됨
258000
전체 products 테이블의 최종 합계
핵심 해석

NULL 은 값이 비어 있다는 뜻이 아닙니다. ROLLUP이 그 컬럼을 더 이상 그룹 기준으로 사용하지 않는 단계에 들어갔다는 표시이며, 그래서 CUBE 처럼 모든 조합이 아니라 한 줄의 계층 경로만 생성됩니다.