티스토리 뷰
1. 데이터 분석 개요
◈ AGGREGATE FUNCTION
◈ GROUP FUNCTION
◈ WINDOW FUNCTION
세 가지 함수 | 설명 |
AGGREGATE FUNCTION | GROUP FUNCTION 의 한 부분으로 분류. COUNT, SUM, AVG, MAX, MIN 외 각종 집계 함수들이 포함. |
GROUP FUNCTION | 결산 개념의 업무를 가지는 원가/판매 시스템의 경우. 그룹 함수를 사용하면 하나의 SQL 로 테이블을 한 번만 읽어서 빠르게 원하는 리포트 작성 가능. 소계/합계 표시를 위해 GROUPING 함수와 CASE 함수를 이용하면, 쉽게 원하는 포맷의 보고서 작성 가능. ROLLUP, CUBE, GROUPING SETS 함수 포함. |
WINDOW FUNCTION | 분석 함수나 순위 함수. |
2. ROLLUP 함수
ROLLUP 에 지정된 GROUPING Columns 의 List 는 Subtotal 을 생성하기 위해 사용되며,
GROUPING Columns 의 수를 N 이라 하면, N+1 Level 의 Subtotal 이 생성된다.
(주의)
ROLLUP 의 인수는 계층 구조 이므로, 인수 순서가 바뀌면 수행 결과도 바뀌므로 인수의 순서를 주의해야 한다.
ROLLUP 함수 사용으로 LEVEL 의 집계가 생성된다.
3. CUBE 함수
ROLLUP 함수에서는 단지 가능한 Subtotal 만 생성하였지만, CUBE 는 결합 가능한 모든 값에 대하여 다차원 집계를 생성한다.
CUBE 를 사용할 경우, 내부적으로 Grouping Columns 의 순서를 바꾸어서 또 한 번의 Query 를 추가 수행해야 한다.
Grand Total 은 양쪽의 쿼리에서 모두 생성되므로, 한 번의 쿼리에서는 제거되어야만 하므로 ROLLUP 에 비해 시스템의 연산 대상이 많다.
CUBE 함수의 경우 표시된 인수들에 대한 계층별 집계를 구할 수 있고, 이 때 표시된 인수들 간에는 ROLLUP 과 달리 평등한 관계이므로, 인수의 순서가 바뀌는 경우, 정렬 순서는 바뀌더라도 데이터 결과는 같다.
CUBE 함수는 가질 수 있는 모든 경우의 수에 대하여 생성하므로,
GROUPING Columns 의 수를 N 이라 하면, 2의 N승 Level 의 Subtotal 이 생성된다.
4. GROUPING SETS 함수
GROUPING SETS 를 이용하여 다양한 소계 집합을 만들 수 있다.
GROUPING SETS 에 표시된 인수들에 대한 개별 집계를 구할 수 있고, 표시된 인수들 간에는 ROLLUP 과 달리 평등한 관계이므로 인수의 순서가 바뀌어도 결과는 같다. ( CUBE 함수와 같음 )
'SQL > SQLD 2과목' 카테고리의 다른 글
SQLD - 과목2. (13) 서브 쿼리 (0) | 2021.09.04 |
---|---|
SQLD - 과목2. (12) 계층형 질의와 셀프 조인 (0) | 2021.09.04 |
SQLD - 과목2. (11) 집합 연산자 (0) | 2021.09.04 |
SQLD - 과목2. (10) 표준 조인 (0) | 2021.03.19 |
SQLD - 과목2. (9) 조인 (JOIN) (0) | 2021.03.18 |
- Total
- Today
- Yesterday
- python별찍기
- 별 찍기
- f-string
- SQLD 2과목
- 파이썬 입출력
- range함수
- Python
- 백준파이썬
- BAEKJOON
- 알고리즘
- 파이썬문법
- 데이터 모델링
- 파이썬
- SUM함수
- 백준별찍기
- 40회 SQLD
- SQLD1과목
- SQLD 1과목
- Unity GameObject 생성
- 파이썬for문
- 파이썬입출력
- 백준
- 백준 별찍기
- SQLD40회
- python문법
- 네이버클라우드플랫폼
- NaverCloudPlatform
- 파이썬sum
- SQLD
- 데이터베이스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |