반응형
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. 조조나리
반응형
'[DataBase] > Oracle' 카테고리의 다른 글
마이바티스 이용시 insert into select (0) | 2017.05.21 |
---|---|
Insert시 Key 관련 에러 - Error getting generated key or setting result to parameter object. (0) | 2017.01.16 |
mysql과 oracle의 paging (0) | 2017.01.13 |
오라클 예약어를 DTO에서 사용하기 (0) | 2017.01.12 |
ERROR - ORA-00923: FROM 키워드가 필요한 위치에 없습니다. (0) | 2017.01.11 |
댓글