본문 바로가기
SQL/Oracle

오라클 GROUPING 함수 개념 및 예제

by wakestand 2020. 11. 20.
반응형

오라클에서 GROUPING 함수는

ROLLUP, CUBE와 함께 사용할 때 쓰이는데

먼저 GROUPING 함수 자체는

GROUPING(컬럼명) 으로 사용하며

 

사용 시에는 반드시 GROUP BY에

GROUPING 해준 항목을 넣어야 한다

 

보면 GROUPING한 값에서

단일 항목은 0 합쳐놓은 항목은 1이 떨어지는 것이 보인다

이게 GROUPING의 전부다

 

이걸 통해 GROUPING의 용도를 확인할 수 있는데

조회 시 특정 컬럼의 값으로

분류한 전체 ROW(예제에서는 JOB), 소계, 총계를 구할 때

분류하는 용도로 사용하게 되는데

 

GROUPING(JOB), GROUPING(SAL)이 0인 값은 

소계 총계에 해당하지 않고

SAL이 1인 값은 소계

JOB도 1인 값은 총계에 해당하게 된다

 

실제 소계, 총계를 구하는 예제는

아래 글을 참고해주면 되고

 

오라클 ROLLUP을 이용해 소계 합계 구하는 방법

오라클에서는 ROLLUP을 이용해 GROUP BY로 분류한 전체 ROW와 소계, 총계를 구할 수 있는데 일단 GROUPING(컬럼)을 사용해 일반 ROW인지 소계, 총계에 속하는 ROW인지 분류가 가능한데 GROUPING 사용하는 방

wakestand.tistory.com

 

마지막으로 예제에 사용한 쿼리는 아래와 같다

 

  SELECT JOB, SUM(SAL), GROUPING(JOB), GROUPING(SAL) 
    FROM EMP
   WHERE JOB IN ('ANALYST', 'PRESIDENT')
GROUP BY ROLLUP(JOB, SAL)
ORDER BY JOB
반응형

댓글