창 프레임 절
적용 대상: Databricks SQL
Databricks Runtime
집계 또는 분석 창 함수가 작동하는 파티션 내 행의 슬라이딩 하위 집합을 지정합니다.
구문
{ frame_mode frame_start |
frame_mode BETWEEN frame_start AND frame_end } }
frame_mode
{ RANGE | ROWS }
frame_start
{ UNBOUNDED PRECEDING |
offset_start PRECEDING |
CURRENT ROW |
offset_start FOLLOWING }
frame_end
{ offset_stop PRECEDING |
CURRENT ROW |
offset_stop FOLLOWING |
UNBOUNDED FOLLOWING }
매개 변수
frame_mode
ROWS
지정된 경우 슬라이딩 윈도우 프레임은 현재 행 앞이나 뒤에 있는 행으로 표현됩니다.
RANGE
지정한 경우 창 함수는 단일 식
obExpr
이 있는 ORDER BY 절을 지정해야 합니다.그러면 슬라이딩 윈도우의 경계가 현재 행의
obExpr
에서 오프셋으로 표현됩니다.
frame_start
현재 행을 기준으로 슬라이딩 윈도우 프레임의 시작 위치입니다.
UNBOUNDED PRECEDING
윈도우 프레임이 파티션의 시작 부분에서 시작되도록 지정합니다.
offset_start PRECEDING
모드가
ROWS
인 경우offset_start
는 현재 행의 몇 개 행 앞에서 프레임이 시작되는지 정의하는 양의 정수 리터럴 숫자입니다.모드가
RANGE
인 경우offset_start
는obExpr
에서 뺄 수 있는 형식의 양수 리터럴 값입니다. 프레임은 현재 행에서obExpr
이obExpr - offset_start
보다 크거나 같은 파티션의 첫 번째 행에서 시작됩니다.CURRENT ROW
프레임이 현재 행에서 시작되도록 지정합니다.
offset_start FOLLOWING
모드가
ROWS
인 경우offset_start
는 현재 행의 몇 개 행 뒤에서 프레임이 시작되는지 정의하는 양의 정수 리터럴 숫자입니다. 모드가RANGE
인 경우offset_start
는obExpr
에서 더할 수 있는 형식의 양수 리터럴 값입니다. 프레임은 현재 행에서obExpr
이obExpr + offset_start
보다 크거나 같은 파티션의 첫 번째 행에서 시작됩니다.
frame_stop
현재 행을 기준으로 슬라이딩 윈도우 프레임의 끝입니다.
지정하지 않으면 프레임이 CURRENT ROW에서 중지됩니다. 슬라이딩 윈도우의 끝은 윈도우 프레임의 시작 위치보다 커야 합니다.
offset_start PRECEDING
frame_mode가
ROWS
인 경우offset_stop
은 현재 행의 몇 개 행 앞에서 프레임이 중지되는지 정의하는 양의 정수 리터럴 숫자입니다. frame_mode가RANGE
인 경우offset_stop
은offset_start
와 같은 형식의 양수 리터럴 값입니다. 프레임은 현재 행에서obExpr
이obExpr - offset_stop
보다 작거나 같은 파티션의 마지막 행에서 끝납니다.CURRENT ROW
프레임이 현재 행에서 중지되도록 지정합니다.
offsetStop FOLLOWING
frame_mode가
ROWS
인 경우offset_stop
은 현재 행의 몇 개 행 뒤에서 프레임이 끝나는지 정의하는 양의 정수 리터럴 숫자입니다. frame_mode가RANGE
인 경우offset_stop
은offset_start
와 같은 형식의 양수 리터럴 값입니다. 프레임은 현재 행에서obExpr
이obExpr + offset_stop
보다 작거나 같은 파티션의 마지막 행에서 끝납니다.UNBOUNDED FOLLOWING
윈도우 프레임이 파티션의 끝에서 중지하도록 지정합니다.