데이터 분석 함수
- 개념: 복수 행 기준의 데이터를 모아 처리하는 것을 목적으로 하는 다중 행 함수
- 종류
1) 집계 함수
: 여러 행 또는 테이블 전체 행으로부터 하나의 결괏값을 반환
- 구문: GROUP BY, HAVING
- 종류: COUNT, SUM, AVG, MAX, MIN, STDDEV, VARIAN
2) 그룹 함수
: 테이블의 전체 행을 칼럼 값에 따라 그룹화해 그룹별로 결과를 출력
- 유형
(1) ROLLUP
: 지정 컬럼 수+1 레벨만큼의 중간 집계 값 생성
“ GROUP BY [컬럼 ...] ROLLUP(컬럼, ...)
(2) CUBE
: 결합 가능한 모든 값에 대해 다차원 집계 생성
“ GROUP BY [컬럼, ...] CUBE(컬럼, ...)
(3) GROUPING SETS
: 집계 대상 컬럼들에 대한 개별 집계
3) 윈도 함수
: 표준 SQL에 추가된 함수. OLAP(OnLine Analytical Processing) 함수라고도 한다.
- 구문: OVER 문구 필수
- 분류
(1) 순위 함수
- SELECT RANK() OVER (ORDER BY SALARY DESC) A // 동일 순위 존재하면 2위, 2위, 4위
- SELECT DENSE_RANK() OVER (ORDER BY SALARY DESC) B, // 동일순위 존재해도 2위, 2위, 3위
- SELECT ROW_NUMBER() OVER (ORDER BY SALARY DESC) C
(2) 행 순서 함수
- SELECT FIRST_VALUE(NAME) OVER (ORDER BY SALARY DESC) A // 가장 먼저 나오는 값
- SELECT LAST_VALUE(NAME) OVER (ORDER BY SALARY DESC) B // 가장 늦게 나오는 값
- SELECT LAG(NAME) OVER (ORDER BY SALARY DESC) C // 이전 로우의 값
- SELECT LEAD(NAME) OVER (ORDER BY SALARY DESC) D // 이후 로우의 값
(3) 그룹 내 비율 함수
- SELECT RATIO_TO_REPORT(SALARY) OVER ( ) A // 합을 기준으로 상대적 비율 반환
- SELECT PERCENT_RANK() OVER (ORDER BY SALARY DESC) B // 행 순서별 백분율 반환
댓글