ROLLUP: 계층적 합계

김기현·2025년 6월 15일

Database

목록 보기
12/24

계층적 합계

상위 → 하위로 이어지는 구조에서 단계별로 합계를 구하는 것을 의미한다.

예시로 회사 조직 구조를 생각해보자.

  • 회사 전체
    • 부서 A
      • 팀 A1
      • 팀 A1
    • 부서 B
      • 팀 B1

이러한 구조에서 각 팀의 매출을 알고 있을 때 다음과 같은 계층적 합계를 구한다는 것은 아래와 같다.

  1. 팀별 매출
  2. 부서별 매출
  3. 회사 전체 매출

SQL 에서 예시

SELECT department, team, SUM(sales)
FROM employees
GROUP BY department, team WITH ROLLUP;

이 쿼리는 다음과 같은 결과를 만든다.

departmentteamSUM(sales)
AA1100
AA2150
ANULL250 ← 부서 A의 합계
BB1200
BNULL200 ← 부서 B의 합계
NULLNULL450 ← 회사 전체 합계

이처럼

  • A1, A2는 가장 하위 수준
  • A는 이들의 상위 그룹
  • 마지막 NULL은 전체 최상위 합계

이 구조가 계층적 구조이고, 각 단계의 합계가 바로 계층적 합계이다.

핵심

용어의미
계층적 구조상위 → 하위 관계가 있는 컬럼들 (예: 연도 > 월, 부서 > 팀)
계층적 합계각 단계별로 누적 합계를 구하는 것
ROLLUP(a, b)a, b → a → 전체 순으로 합계
profile
백엔드 개발자를 목표로 공부하는 대학생

0개의 댓글