01 | WITH test AS |
02 | ( |
03 | SELECT '40' code, 30 cnt FROM dual |
04 | UNION ALL SELECT '30' , 50 FROM dual |
05 | UNION ALL SELECT '10' , 20 FROM dual |
06 | ) |
07 | SELECT code |
08 | , SUM (cnt) cnt |
09 | , RATIO_TO_REPORT( SUM (cnt)) OVER(PARTITION BY GROUPING (code)) * 100 ratio |
10 | FROM test |
11 | GROUP BY ROLLUP (code) |
12 | ; |