Skill/postgreSQL
postgreSQL GROUPING SETS
진열사랑
2024. 3. 20. 11:03
출처: https://ga-you-ni.tistory.com/m/238
select
case when grouping(BRAND) = 0 and grouping(SEGMENT) = 0 then '브랜드별+등급별'
when grouping(BRAND) = 0 and grouping(SEGMENT) = 1 then '브랜드별'
when grouping(BRAND) = 1 and grouping(SEGMENT) = 0 then '등급별'
when grouping(BRAND) = 1 and grouping(SEGMENT) = 1 then '전체합계'
else ''
end as "집계기준",
BRAND,
SEGMENT,
SUM(QUANTITY)
from sales s
group by
grouping sets (
(BRAND, SEGMENT),
(BRAND),
(SEGMENT),
()
)
order by BRAND, SEGMENT;