본문 바로가기
[DataBase]/Oracle

gorup by rollup(xxx, yyy)시 소계, 합계 구분하기

by control+c 2017. 6. 14.
반응형

gorup by rollup(xxx, yyy)시 소계, 합계 구분하기



오라클에서 gorup by rollup(xxx, yyy)을 할 때 xxx나 yyy가 null이거나 empty일경우 소계와 합계 구분이 쉽지 않다. 

오라클에서 null과 empty를 모두 null로 처리하는 것이 엄청 짜증난다. 


이런경우 

Grouping() 혹은  Grouping_id() 함수를 사용하면 쉽게 구분할 수 있다. 


select     

xxx

, yyy

, Grouping_id(xxx, yyy) AS group_gubun

from ttt

group by rollup(xxx, yyy)



group_gubun이 0,1,3으로 떨어지는 데 0은 데이터를, 1은 소계를, 3은 합계를 반환하는 row이다.



by. 조조나리



반응형

댓글