IT/Oracle DBMS
Oracle GROUPING_ID 설명 : 오라클 함수
WorldSeeker
2021. 4. 1. 10:02
1. 함수의 목적
Oracle GROUPING_ID는 GROUPING 비트벡터로 들어온 입력값들을 10진수 숫자로 변경한다.
GROUPING_ID는 ROLLUP과 CUBE등과 같이 SUPPERAGGREGATE행을 생성하는 문장에서만 가능하다.
* 참고 : SUPPERAGGREGATE행이란?
SUPPERAGGREGATE행이란 ROLLUP/CUBE등에서 모든 값의 집합인 NULL행을 만드는 데 이것을 SUPPERAGGREGATE행이라 한다.
2. 샘플을 통한 개념 퀵뷰
gcp로 channel_id, promo_id 컬럼순으로 grouping_id를 생성하고, gpc로 promo_id, channel_id 순으로 grouping_id를 생성한다.
SELECT channel_id, promo_id, sum(amount_sold) s_sales,
GROUPING(channel_id) gc,
GROUPING(promo_id) gp,
GROUPING_ID(channel_id, promo_id) gcp,
GROUPING_ID(promo_id, channel_id) gpc
FROM sales
WHERE promo_id > 496
GROUP BY CUBE(channel_id, promo_id)
ORDER BY channel_id, promo_id, s_sales, gc;
3. 사용방법
4. 함수 PARAMETER 설명
없음
5. 다양한 샘플표현