SQL, 그룹 함수(ROLLUP, GROUPING SETS, CUBE)

sky.dev·2025년 4월 28일

Data&AI-Uni.

목록 보기
25/77
post-thumbnail

그룹 함수(ROLLUP, GROUPING SETS, CUBE)

그룹함수는 데이터를 그룹으로 묶고, 이 그룹을 기준으로 통계 값을 계산하는 데 사용

주로 GROUP BY 구문과 함께 쓰이며, SUM(), AVG(), COUNT(), MAX(), MIN() 등의 집계 함수와 결합되어 소계나 총계를 구할 수 있는 방법

GROUP BY는 단일 그룹 수준에서만 결과를 제공하기 때문에, 보다 복합적인 소계/총계를 구하고자 할 때는 ROLLUP, CUBE, GROUPING SETS 같은 고급 그룹 함수가 필요

기본 GROUP BY

    단일 그룹화 기준. 예: 상품ID, 기준월 각각에 대해 매출 합계를 보여줌.

ROLLUP

    계층 구조 기반 소계 제공. 예: 상품별 소계, 전체 총계까지.

CUBE

    가능한 모든 조합에 대해 소계를 생성. 즉, 다차원 집계.

GROUPING SETS

    사용자가 지정한 특정 조합에 대해서만 결과를 보여줌.

테이블명: 월별음료매출
음료명 판매월 매출액
아메리카노 2024.01 1200
아메리카노 2024.02 1300
아메리카노 2024.03 1500
라떼 2024.01 1000
라떼 2024.02 1200
라떼 2024.03 1300

기본 GROUP BY

SELECT 음료명, 판매월, SUM(매출액) AS 매출합계
FROM 월별음료매출
GROUP BY 음료명, 판매월;

ROLLUP

SELECT 음료명, 판매월, SUM(매출액) AS 매출합계
FROM 월별음료매출
GROUP BY ROLLUP(음료명, 판매월);

CUBE

SELECT 음료명, 판매월, SUM(매출액) AS 매출합계
FROM 월별음료매출
GROUP BY CUBE(음료명, 판매월);

GROUPING SETS

SELECT 음료명, 판매월, SUM(매출액) AS 매출합계
FROM 월별음료매출
GROUP BY GROUPING SETS ((음료명), (판매월));

0개의 댓글