GROUP BY ROLLUP()에 대하여

배쨈·2023년 8월 29일
0

SQL

목록 보기
8/9
post-thumbnail

ROLLUP 함수

  • 소간의 소계 및 총계를 계산하는 함수
  • 인수를 넣는 순서에 영향을 받으니 주의하도록 하자

ROLLUP(A)

인수 A 1개GROUP BY + 총합계

-- DT로 GROUP BY 후, 총 합계 출력--
SELECT ORDER_DT, COUNT(*)
FROM STARBUCKS_ORDER
GROUP BY ROLLUP(ORDER_DT)
ORDER BY ORDER_DT ;

ROLLUP(A,B)

인수 A,B 2개로 그룹핑 + 인수 A 1개로 그룹핑 + 총합계

-- DT, NAME로 GROUP BY + DT로 GROUP BY + 총 합계 출력--
SELECT ORDER_DT, REG_NAME , COUNT(*)
FROM STARBUCKS_ORDER
GROUP BY ROLLUP(ORDER_DT,REG_NAME)
ORDER BY ORDER_DT ;

ROLLUP( A,B,C )

인수 A,B,C 3개로 그룹핑 + 인수 A,B 2개로 그룹핑 + 인수A 1개로 그룹핑 + 총합계

ROLLUP( (A,B) , C )

인수 A,B,C 3개로 그룹핑 + 인수 A,B 2개로 그룹핑 + 총합계
--> cgroup by 된 것이 빠진다.

ROLLUP( A, (B,C) )

인수 A,B,C 3개로 그룹핑 + 인수 A 1개로 그룹핑 + 총합계
--> b,cgroup by한 것이 빠진다.

  • 앞에 있는 인수를 group by후 바로 총 합계 출력
profile
빵상빵상

0개의 댓글