with tt as
(
SELECT '0001' accd, '21' hmcd, '01' mnth, 1000000 amt FROM dual
UNION ALL SELECT '0003', '21', '02', 2000000 FROM dual
UNION ALL SELECT '0001', '21', '01', 800000 FROM dual
UNION ALL SELECT '0005', '13', '03', 600000 FROM dual
UNION ALL SELECT '0006', '01', '05', 600000 FROM dual
)
select accd,hmcd,
grouping(accd) GRP1, -->OK
grouping(hmcd) GRP2, -->OK
grouping(accd)+grouping(hmcd) GRP3, -->OK
GROUPING_ID(accd,hmcd) GID1, -->왜 맨 아래가 3이 되죠?
GROUPING_ID() GID2 -->인수의 갯수가 부적합..
--> GRP3를 대체 할수 있는것은?
GROUP_ID() GID3, -->GROUP_ID 가 뭐죠?..
max(mnth) mnth,sum(amt) from tt
group by rollup(accd,hmcd)
|