예제 쿼리가 아래와 같을때
맨밑에 총계만 맨위로 올라가고 나머지는 정렬을 그대로 유지하고 싶습니다.
order 구문을 어떻게 써야 하는지요 ?
SELECT decode(grouping(R.com), 1, '총계', R.com) com
, decode(grouping(R.com) + grouping(R.subcom), 1, '소계', R.subcom) subcom
, SUM(CASE WHEN R.sub='kor' THEN R.val END) kor
, SUM(CASE WHEN R.sub='math' THEN R.val END) math
, SUM(CASE WHEN R.sub='eng' THEN R.val END) eng
FROM
(
SELECT 'A' nm, 'C1' com, 'C1-1'subcom, 'kor' sub, 10 val FROM dual
UNION ALL SELECT 'A' nm, 'C1', 'C1-1', 'math' sub, 20 val FROM dual
UNION ALL SELECT 'A' nm, 'C1', 'C1-1', 'eng' sub, 30 val FROM dual
UNION ALL SELECT 'B' nm, 'C2', 'C2-1', 'kor' sub, 200 val FROM dual
UNION ALL SELECT 'B' nm, 'C2', 'C2-1', 'math' sub, 300 val FROM dual
) R
GROUP BY ROLLUP(R.com, R.subcom)