[스파르타코딩클럽]데이터분석 과정/SQL

[SQL] ROLLUP_총계, 소계 구하기

doo_ 2024. 1. 1. 16:23

- 총계, 소계 구하기

[ ROLLUP 함수 ]

- Rollup함수는 그룹 항목 총합(총계)이나, 각 그룹 별 중간합계(소계)를 구할 때 사용한다.

- 이때 합계값만 추가하는 거라 나머지 필드 이름 자리에는 NULL값이 들어간다. 

 

예시 ) MySQL : A, B with rollup / ORACLE : rollup(  A, B )

select Category ,sub_category , sum(Amount)
from ecommerce.order_details od 
group by category, sub_category with rollup
--------------------------------------------
select Category ,sub_category , sum(Amount)
from ecommerce.order_details od 
group by rollup(category, sub_category)

 

+) [ GROUPING ]

- rollup함수를 사용해 구한 소계, 총계 해당 행을 쉽게 파악할 수 있게 해주는 함수다.

- grouping 기준에서 부분 총계인 경우 1을, 그렇지 않은 경우 0을 리턴한다.

ex.

select Category ,sub_category , sum(Amount), grouping(sub_category)
from ecommerce.order_details od 
group by category, sub_category with rollup