오라클에 대해서 배우고 문제를 풀고 있는데 아무리 읽어도 어떻게 코드를 작성을 해야 할 지 막막하여 질문을 올립니다.
WITH ec_order AS
(
SELECT 'imjung' id, 'TV03' cd, 1785 amt, TO_DATE('20180101', 'yyyymmdd') dt FROM dual
UNION ALL SELECT 'supark', 'NB02' , 750, TO_DATE('20180201', 'yyyymmdd') FROM dual
UNION ALL SELECT 'supark', 'PRT01', 235, TO_DATE('20180301', 'yyyymmdd') FROM dual
UNION ALL SELECT 'usko' , 'NB01' , 930, TO_DATE('20180301', 'yyyymmdd') FROM dual
UNION ALL SELECT 'usko' , 'NB02' , 999, TO_DATE('20180401', 'yyyymmdd') FROM dual
)
SELECT CASE GROUPING_ID(id, cd)
WHEN 2 THEN '상품 집계'
WHEN 3 THEN '전체 합계'
ELSE id END 주문자_id
, CASE GROUPING_ID(id, cd)
WHEN 1 THEN '회원 집계'
ELSE cd END 주문상품
, SUM(amt) 결제금액
FROM ec_order a
WHERE dt >= TO_DATE('20180101', 'yyyymmdd')
AND dt < TO_DATE('20180401', 'yyyymmdd')
GROUP BY CUBE(id, cd)
ORDER BY a.id, a.cd
;