※ 그룹 함수
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을 부여해 구분한다.
'자격증 > SQLD' 카테고리의 다른 글
[ SQLD 자격증 ] SQL 활용 - 5. Top-N 쿼리 (0) | 2023.05.30 |
---|---|
[ SQLD 자격증 ] SQL 활용 - 4. 윈도우 함수 (0) | 2023.05.28 |
[ SQLD 자격증 ] SQL 활용 - 3. 집합 연산자 (0) | 2023.05.27 |
[ SQLD 자격증 ] SQL 활용 - 2. 뷰(View) (0) | 2023.05.26 |
[ SQLD 자격증 ] SQL 활용 - 1. 서브쿼리(Subquery) (0) | 2023.05.25 |