728x90

 

WINDOW FUNCTION

SELECT WINDOW_FUNCTION (ARGUMENTS)
OVER ( [PARTITION BY 컬럼] [ORDER BY 절] [WINDOWING 절] )
FROM 테이블 명

WINDOW_FUNCTION : 기존에 사용하던 함수(SUM, AVG 등등)도 있고, 새롭게 WINDOW 함수용으로 추가된 함수도 있음.

ARGUMENTS(인수) : 윈도우함수를 사용할 때 설정이 필요한 경우 옵션으로 사용 (함수에 따라 0 ~ N개의 인수가 지정될 수 있음)

PARTITION BY 절 : 컬럼 선택은 옵션으로 전체 조회된 행에 대해 소그룹을 지정한 컬럼으로 만들 수 있다.

ORDER BY 절 : 해당 컬럼에 대해서 정렬

WINDOWING 절 : 함수의 대상이 되는 행 기준의 범위를 강력하게 지정할 수 있음.

    1)ROWS : 물리적인 결과 행의 수

    2)RANGE : 논리적인 값에 의한 범위

 

둘 중의 하나를 선택해서 사용가능

다만, WINDOWING 절은 SQL SERVER에서 지원X

 

 

윈도우 함수(WINDOW FUNCTION) 종류

1.그룹 내 순위(RANK) 관련 함수

2.그룹 내 집계(AGGREGATE) 관련 함수

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

4.그룹 내 비율 관련 함수

5.선형 분석을 포함한 통계 분석 관련 함수

https://rise-up.tistory.com/724

 

[SQL] 윈도우 함수(WINDOW FUNCTION) 종류

윈도우 함수(WINDOW FUNCTION) 종류 WINDOW FUNCTION 탄생 배경 PL/SQL, SQL/PL, T-SQL, PRO*C 같은 절차형 프로그램을 작성하거나, INLINE VIEW를 이용해 복잡한 SQL 문을 작성해야 하던 것을 부분적이나마 행과..

rise-up.tistory.com

 

 

 

WINDOW 절

ROWS |  RANGE BETWEEN
UNBOUNDED PRECEDING | CURRENT ROW | VALUE_EXPR PRECEDING/FOLLOWING
AND
UNBOUNDED FOLLOWING | CURRENT ROW | VALUE_EXPR PRECEDING/FOLLOWING

ROWS : 물리적인 ROW 단위로 행 집합을 지정 ( 현재행을 기준으로 몇개의 행을 포함하는지 )

RANGE : 논리적인 상대번지로 행 집합을 지정 ( 현재행을 기준으로 어떤 값의 범위를 포함하는지 )

BETWEEN~ AND 절 : 윈도우의 시작과 끝 위치를 지정UNBOUNDED PRECEDING : PARTITION의 첫 번째 로우에서 윈도우가 시작

UNBOUNDED FOLLOWING : PARTITION의 마지막 로우에서 윈도우가 시작

CURRENT ROW : 윈도우의 시작이나 끝 위치가 현재 로우

 

 

자료출처

https://dataonair.or.kr/

 

728x90
반응형

+ Recent posts