[SQLD] ROLLUP

ROLLUP 은 소계나 합계가 필요한 경우 사용하는 구문이다.

ROLLUP은 컬럼 순서대로 소계를 만든다. 컬럼 순서가 달라지면 소계의 결과도 완전히 다르게 나온다. (주의)

그래서, 소계가 필요한 컬럼과 우선순위가 무엇인지 판단해야 한다. 

 

- GROUP BY와 ROLLUP의 차이

GROUP BY

SELECT  TO_CHAR(T1.ORD_DT,'YYYYMM') ORD_YM
       ,T1.CUS_ID
       ,SUM(T1.ORD_AMT) ORD_AMT
FROM    T_ORD T1
WHERE   T1.CUS_ID IN ('CUS_0001','CUS_0002')
AND     T1.ORD_DT >= TO_DATE('20170301','YYYYMMDD')
AND     T1.ORD_DT < TO_DATE('20170501','YYYYMMDD')
GROUP BY TO_CHAR(T1.ORD_DT,'YYYYMM') ,T1.CUS_ID

 

ROLLUP

GROUP BY
ROLLUP(TO_CHAR(T1.ORD_DT,'YYYYMM') ,T1.CUS_ID)

 

'데이터 > SQLD' 카테고리의 다른 글

[SQLD] HAVING  (0) 2026.08.25
[SQLD] COUNT 집계 함수  (0) 2026.08.24
SQLD 불합격 하는 분들을 위한 조언  (0) 2026.08.24
우분투에서 Mariadb 설치  (0) 2026.07.25
[SQLD] 기본 개념 정리  (0) 2026.03.20