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
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 : 윈도우의 시작이나 끝 위치가 현재 로우
자료출처
'SQL' 카테고리의 다른 글
[Oracle] 대용량 문자 자료형 CLOB 조회하기 (0) | 2023.12.05 |
---|---|
[SQL] NATURAL JOIN & EQUI JOIN & NON EQUI JOIN (자연조인 & 등가조인 & 비등가 조인) (0) | 2022.10.11 |
[SQL] 윈도우 함수(WINDOW FUNCTION) 종류 (0) | 2022.08.29 |