티스토리 뷰



집계함수는 group by랑 연동해서 작업이 이루어진다
aggregation function


그룹바이와 집계함수는 연동된다!

그룹별로 최저값, 최대값, 평균값 등 그룹별로 작업을 하는데
전체합계도 구하고, 동시에 그룹별 합계도 구하고 싶다! ?
합계뿐만 아니라 집계를 같이 구하고싶다!

전체 행들에 대한 집계와 그룹별로의 집계! 를 구하고 싶은 경우에 어떻게 해야 할까 ?

전체에 대해 집계를 돌리고 그룹별로 집계를 돌리고싶다.
그룹별 집계는 '소계' 라고 한다.

전체집계와 (소그룹의집계)소계를 같이 구하고싶다!
한번에 구하고싶다?
그럴때는 ?


1) ROLLUP 함수  
GROUP BY ROLLUP(A)  : 전체합계, 칼럼A소계
GROUP BY ROLLUP(A,B)  : 전체합계, 칼럼A소계, 칼럼A,B조합 소계
GROUP BY ROLLUP(A,B,C)  : 전체합계, 칼럼A소계, 칼럼A,B조합 소계,칼럼A,B,C조합 소계
GROUP BY ROLLUP(A, (B,C)) : 전체합계, 칼럼A소계, 칼럼A,(B,C)조합의 소계 


2) CUBE 함수    
* 가능한 모든조합의 소계 및 합계를 생산하기 때문에 시스템에 무리가 갈 수 있다.
GROUP BY CUBE(A) : 전체합계, 칼럼A소계 (2가지)
GROUP BY CUBE(A,B) : 전체합계, 칼럼A소계, 칼럼B소계, 칼럼A,B 조합 소계 (4가지)


3) GROUPING SETS 함수
GROUP BY GROUPING SETS(A) : 칼럼A소계
GROUP BY GROUPING SETS(A,B) : 칼럼A소계, 칼럼B소계
GROUP BY GROUPING SETS( (A,B) ) : 칼럼A와B 조합의 소계


* GROUP BY ROLLUP(A,B) 를 GROUPING SETS함수로 변경하면?
  =>
  GROUP BY GROUPING SETS( ( ), A, (A,B) )

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함