[SQL] ROLLUP으로 소계와 총계를 한 번에

Unit·2025년 7월 8일

SQL

목록 보기
26/59

매출 데이터를 집계할 때,
지역별, 상품별 합계뿐만 아니라
소계(지역별)와 전체 총계까지 한 번에 보고 싶은 경우가 있습니다.

이럴 때 GROUP BY와 UNION을 여러 번 써서 처리할 수 있습니다.

SELECT region
     , product
     , SUM(sales)
FROM orders
GROUP BY region
       , product

UNION ALL

SELECT region
     , NULL
     , SUM(sales)
FROM orders
GROUP BY region

UNION ALL

SELECT NULL
     , NULL
     , SUM(sales)
FROM orders;

그러나, 이 방식은 번거롭습니다.


✅ ROLLUP으로 깔끔하게 해결

ROLLUP을 사용하면 한 줄로 소계와 총계를 모두 계산할 수 있습니다.

SELECT region
     , product
     , SUM(sales)
FROM orders
GROUP BY ROLLUP (region, product);

이렇게 하면,
• region + product별 합계
• region별 소계
• 전체 총계
까지 자동으로 출력됩니다.


정리

✔️ ROLLUP을 쓰면 다중 집계(소계, 총계)를 한 번에 처리할 수 있습니다.

profile
협업, 유지보수, 최적화를 고려한 데이터 실무 팁을 정리합니다.

0개의 댓글