티스토리 뷰

Database/Oracle

[오라클] ROLLUP 활용

데브포유 2016. 11. 23. 10:07
반응형

일자별, 제품코드별 판매금액 소계, 합계 구하기...


일자 

 상품코드

 판매금액

 20160101

 AAA

 500

 20160102

 AAA

 400

 소계

 

 900

 20160101

 BBB

 1000

 20160102

 BBB

 2000

 소계

 

 3000

 합계

 

 3900



SELECT  DECODE(LV, 1, '소계', 3, '합계', V1.DAY)  AS "일자"

          ,DECODE(LV, 0, V1.PRDT_CD, ' ')            AS "상품코드"

          ,SALES_AMT                                   AS "판매금액"

FROM

(

    SELECT DAY

             ,PRDT_CD

             ,SUM(AMT) AS SALES_AMT

             ,GROUPING_ID(PRDT_CD, DAY) AS LV

    FROM 거래

    GROUP BY ROLLUP(PRDT_CD, DAY)

    ORDER BY PRDT_CD

                 , DAY

) V1



반응형