본문 바로가기
database/oracle

[oracle] ROLLUP, CUBE, GROUPING SETS (집계함수)

by moonsiri 2020. 10. 8.
728x90
반응형

집계함수는 여러행 또는 테이블 전체 행으로부터 그룹별로 집계하여 결과를 반환(그룹별 1개의 행을 반환)하고,

분석함수 집계 결과를 각 행마다 보여줍니다.

 

 

1. ROLLUP()

  • 그룹의 소계와 총계를 구한다. (순서가 중요하다. 제일 앞에 놓인 것에 대해서 소계를 구하게 된다.)

 

GROUP BY ROLLUP(A, B)

=

GROUP BY A, B 
UNION ALL 
GROUP BY B 
UNION ALL 
모든 집합 그룹 결과

 

 

2. CUBE()

  • 각 그룹의 모든 경우의 수에 대한 소계와 총계를 구한다.

 

GROUP BY CUBE(A, B)

=

GROUP BY A, B 
UNION ALL 
GROUP BY A 
UNION ALL 
GROUP BY B 
UNION ALL 
모든 집합 그룹 결과

 

 

3. GROUPING SETS()

  • GROUP BY 의 확장판이라 할 수 있다.
  • GROUP BY 절에서 사용되며 여러개의 그룹 조건을 기술 할 수 있다.
  • 각 조건별 집계를 확인 할 수 있다.

 

GROUP BY GROUPING SET(A, B)

=

GROUP BY A 
UNION ALL 
GROUP BY B

 

 

4. LISTAGG()

  • 하나의 테이블에서 다양한 집계함수를 사용할 경우

 

 

[출처]

http://viewa.tistory.com/m/32

 

[ORACLE]오라클 함수 _ ROLLUP, CUBE, GROUPING SETS

[ORACLE]오라클 함수 _ ROLLUP, CUBE, GROUPING SETS 집계함수 정리 모두가 아는 GROUP BY 함수인, SUM(), AVG(), COUNT(), MAX(), MIN() 을 빼고 ROLLUP() & CUBE() & GROUPING SETS() 함수를 정리해본다...

viewa.tistory.com

 

728x90
반응형

'database > oracle' 카테고리의 다른 글

[oracle] OVER (PARTION BY) ; 조건별 누계 (분석함수)  (0) 2020.10.09

댓글