※ 그룹 함수

1. 그룹 함수란? - 그룹화된 데이터를 사용하여 집계나 총계를 계산하는 함수다.

2. 그룹 함수 종류

    ① 집계 함수 - COUNT, SUM, AVG, MAX, MIN

    ② 소계(총계) 함수 - ROLLUP, CUBE, GROUPING SETS

         ㉮ ROLLUP - 소그룹 간의 소계 및 총계를 계산하는 함수로 인수의 순서에 따라 결과가 달라진다. 

              • ROLLUP(A) - A로 그룹핑 → 총합계

              • ROLLUP(A, B) - A, B로 그룹핑 → A로 그룹핑 → 총합계

              • ROLLUP(A, B, C) - A, B, C로 그룹핑 → A, B로 그룹핑 → A로 그룹핑 → 총합계

         ㉯ CUBE - 소그룹 간의 소계 및 총계를 다차원적으로 계산할 수 있는 함수로 조합할 수 있는 모든 그룹에 대한 소계를 계산한다. 인수의 순서에 상관없이 같은 결과를 출력한다.

              • CUBE(A) - A로 그룹핑 → 총합계

              • CUBE(A, B) - A, B로 그룹핑 → A로 그룹핑 → B로 그룹핑 총합계

              • CUBE(A, B, C) - A, B, C로 그룹핑 → A, B로 그룹핑 → A, C로 그룹핑 → B, C로 그룹핑 → A로 그룹핑 → B로 그룹핑 → C로 그룹핑  총합계

         ㉰ GROUPING SETS - 특정 항목에 대한 소계를 계산하는 함수다. 인자값으로 ROLLUP이나 CUBE를 사용할 수 있고 인수의 순서에 상관없이 같은 결과를 출력한다.

              GROUPING SETS(A, B) - A로 그룹핑 → B로 그룹핑 

               GROUPING SETS(A, B, ( )) - A로 그룹핑 → B로 그룹핑  총합계

               GROUPING SETS(A, ROLLUP(B)) - A로 그룹핑 → B로 그룹핑 → 총합계

              • GROUPING SETS(A, ROLLUP(B, C)) - A로 그룹핑 → B, C로 그룹핑 → B로 크룹핑  총합계

                  • GROUPING SETS(A, B, ROLLUP(C)) - A로 그룹핑 → B로 그룹핑 → C로 크룹핑  총합계

         ㉱ GROUPING - ROLLUP, CUBE, GROUPING SETS와 함께 쓰이며 소계를 나타내는 Row의 값에 1을 부여하고 나머지 Row의 값에 0을 부여해 구분한다. 

+ Recent posts