SQL 집계함수 (ROLLUP, CUBE, GROUPING SETS)

마라탕천재 ㅣ 2024. 8. 23. 00:41

1. ROLLUP : 소그룹간의 합계를 계산하는 함수

SELECT 제품, 분기, SUM(판매액)
FROM 판매
GROUP BY ROLLUP(제품, 분기); -- 제품, 분기, 전체에 대한 합계를 계산

 

 

2. CUBE : GROUP BY절에 명시한 모든 컬럼에 대해 소그룹 합계를 계산 

SELECT 제품, 분기, SUM(판매액)
FROM 판매
GROUP BY CUBE(제품, 분기); -- 제품의 분기별에 대해 합계를 계산

 

 

3. GROUPING SETS : 특정한 집합에 대해서만 집계를 수행함. ROLLUP이나 CUBE는 자동으로 모든 단계를 계산하지만, GROUPING SETS는 내가 원하는 특정 그룹 조합만 계산함.

SELECT 제품, 분기, SUM(판매액)
FROM 판매
GROUP BY GROUPING SETS ((제품, 분기), (제품), (분기), ());