안녕하세요. 고수님들이 도움 부탁드립니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | WITH T AS ( SELECT 'A' C1, 'B' C2, 'C' C3, 'X' C4, 10 C5 FROM DUAL UNION ALL SELECT 'A' , 'B' , 'C' , 'X' , 10 FROM DUAL UNION ALL SELECT 'A' , 'B' , 'C' , 'X' , 10 FROM DUAL UNION ALL SELECT 'A' , 'B' , 'C' , 'Y' , 10 FROM DUAL UNION ALL SELECT 'A' , 'B' , 'C' , 'Y' , 10 FROM DUAL UNION ALL SELECT 'A' , 'B' , 'C' , 'Y' , 10 FROM DUAL UNION ALL SELECT 'A' , 'B' , 'C' , 'Y' , 10 FROM DUAL UNION ALL SELECT 'A' , 'B' , 'C' , 'Z' , 10 FROM DUAL UNION ALL SELECT 'A' , 'B' , 'C' , 'Z' , 10 FROM DUAL UNION ALL SELECT 'A' , 'B' , 'C' , 'Z' , 10 FROM DUAL ) SELECT C1, C2, C3, 'Total' C4, SUM (C5) E FROM T GROUP BY ROLLUP ((C1,C2,C3)); |
위의 쿼리 결과를 아래와 같이 변경하고 싶은데 방법이 있을까요?
C1 | C2 | C3 | C4 | C5 |
A | B | C | Total | 100 |
A | B | C | Total | 100 |
1. 마직막 합산 결과의 rollup 행에서 A, B, C 컬럼의 값을 위(?)의 A, B, C 컬럼의 값을 그대로 넣어주고 싶어요.
C1 ~ C3의 값은 where절에 조건으로 걸리기 때문에 모두 동일한 데이터가 나오고 있어요.
2. 마지막 합산 결과의 rollup 행을 제일 위(첫번째 행)으로 옮기고 싶어요.
감사합니다.