본문 바로가기

개발공부/DB

윈도우 함수를 알아보자

오라클 기준이며 공부하면서 외우기 위해 세세한내용 생략

대신 바로 이해할 수 있다! 내가 이해하기 쉽게 다시 정리

windowing절 공부해서 내용추가하자

 


윈도우함수 = 순위함수 = 분석 함수

 

윈도우함수란.

행과 행간의 관계를 쉽게 정의해준다

 

구조: 

select 컬럼명, 윈도우함수 over

(partition by | order by | windowing)

   


1. 그룹내 순위 함수

RANK / DENSE_RANK / ROW_NUMBER

 

2. 그룹내 집계 함수

SUM / MAX / MIN / AVG / COUNT

 

3. 그룹내 행 순서 관련 함수

FIRST_VALUE / LAST_VALUE / LAG / LEAD

 

4. 그룹내 비율

CUME_DIST / PERCENT_RANK /NTILE / RATIO_TO_REPOST

 


그룹내 순위함수(RANK_1224)

 

그룹내 순위함수(DENSE_RANK_1223)

 

 

그룹내 순위함수(ROW_NUMBER)


그룹내 행순서 관련 함수(first_value)

: 파티션별 윈도우에서 가장 먼저 나온 값 구하기

 

 

그룹내 행순서 관련 함수(last_value)

: 파티션별 윈도우에서 가장 나중 값 구하기

 

그룹내 행순서 관련 함수(lag)

: 이전 몇 번째 행의 값을 가져올 수 있다.

 

 

그룹내 행순서 관련 함수(lead)

: 이후 몇 번째 행의 값을 가져올 수 있다.

 

 


그룹내 비율 관련 함수(RATIO_TO_REPORT)

: 백분율 구하기

 

그룹내 비율 관련 함수(PECENT_RANK)

: 제일 먼저 0 / 제일 늦게 1로 하여 행의 순서별 백분율 구한다.

 

그룹내 비율 관련 함수(CUME_DIST)

: 파티션 별 윈도우의 전체 건수에서 현재행보다 작거나 같은 건수에 대한 누적백분율을 구한다

: 본인의 급여가 누적 순서상 몇 번째 쯤에 위치하는지 알 수 있다

 

 

그룹내 비율 관련 함수(NTILE)

: 파티션별 전체건수를 argument 값으로 n등분한 결과를 구할 수 있다.

: 남는 숫자는 앞에서부터 채운다

 


그룹내 집계 관련 함수(SUM)

: 합계

 

그룹내 집계 관련 함수(MAX)

: 최대값

 

그룹내 집계 관련 함수(MIN)

: 최소값

 

그룹내 집계 관련 함수(AVG)

: 평균

 

그룹내 집계 관련 함수(COUNT)

: 갯수 세기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

windowing

: 함수의 대상이 되는 행 기준의 범위를 강력지정

 

row

: 부분집합인 윈도우의 크기를 물리적인 단위로 행 집합을 지정

 

range

: 논리적인 주소에 의해 행 집합을 지정

 

unbounded preceding

: 윈도우의 시작 위치가 첫 번째 row

 

unbounded following

: 윈도우의 마지막 위치가 마지막 row

 

current row

: 윈도우의 시작 위치가 마지막 row  

 

 

 


 

세세한 내용은 이거 보기

http://wiki.gurubee.net/pages/viewpage.action?pageId=27427796

 

6.윈도우 함수(WINDOW FUNCTION) - 11.구루비 DB 스터디 - 개발자, DBA가 함께 만들어가는 구루비 지식창고!

Added by 장태길, last edited by 장태길 on 10월 24, 2013  (view change) 목차 1. WINDOW FUNCTION 개요 2. 그룹 내 순위 함수 3. 일반 집계 함수 4. 그룹 내 행 순서 함수 5. 그룹 내 비율 함수 1. WINDOW FUNCTION 개요 행과 행간의 관계를 쉽게 정의 하기 위해 만든 함수를 이름 분석 함수(ANALYTIC FUNCTION)이나 순위 함수(RANK FUNCTION)로도 알려짐 기존

wiki.gurubee.net