[Input]

[Problem]
US E-Commerce Records 2020 데이터베이스는 미국 이커머스 웹사이트의 판매 데이터를 담고 있습니다. records 테이블에는 어느 온라인 쇼핑몰의 주문 데이터가 들어있고, 주문된 상품의 카테고리(category), 서브 카테고리(sub_category), 매출액(sales) 등의 정보가 있습니다.
서브 카테고리 별 매출액을 계산하고 그 매출액이 각 서브 카테고리가 속해있는 카테고리 안에서 비중을 얼마나 차지하는지, 그리고 전체 매출액에서는 비중을 얼마나 차지하는지 계산하는 쿼리를 작성해주세요. 쿼리 결과는 아래 컬럼을 포함해야 하고, 모든 수치 데이터는 소수점 아래 셋째 자리에서 반올림 해 둘째 자리까지 표현해주세요.
category - 카테고리 이름
sub_category - 서브 카테고리 이름
sales_sub_category - 서브 카테고리 별 매출액의 합계
sales_category - 카테고리 별 매출액의 합계
sales_total - 전체 매출액
pct_in_category - 카테고리 매출 중 해당 서브 카테고리 매출의 비율 (%)
pct_in_total - 전체 매출 중 해당 서브 카테고리 매출의 비율 (%)
[Output]

[Answer]
with base as (
select category
,sub_category
,sum(sales) as sales_sub_category
from records
group by category, sub_category
)
select t.category
,t.sub_category
,round(t.sales_sub_category,2) as sales_sub_category
,round(t.sales_category,2) as sales_category
,round(t.sales_total,2) as sales_total
,round(t.sales_sub_category/t.sales_category*100,2) as pct_in_category
,round(t.sales_sub_category/t.sales_total*100,2) as pct_in_total
from (
select category
,sub_category
,sales_sub_category
,sum(sales_sub_category) over (partition by category) as sales_category
,sum(sales_sub_category) over () as sales_total
from base
) t