본문 바로가기
기본 지식

데이터 분석 함수

by HJINHA 2021. 7. 3.

데이터 분석 함수

- 개념: 복수 행 기준의 데이터를 모아 처리하는 것을 목적으로 하는 다중 행 함수

- 종류

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  // 행 순서별 백분율 반환

'기본 지식' 카테고리의 다른 글

서버 프로그램 구현  (0) 2021.07.03
절차형 SQL  (0) 2021.07.03
데이터베이스 기본  (0) 2021.07.03
인터페이스 구현  (0) 2021.07.02
통합 구현  (0) 2021.07.01

댓글