All thing of the world!

Oracle GROUPING_ID 설명 : 오라클 함수 본문

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. 다양한 샘플표현

 

Comments