MAX 창 함수 - Amazon Redshift

MAX 창 함수

MAX 창 함수는 입력 표현식의 최댓값을 반환합니다. MAX 함수는 숫자 값을 사용하고 NULL 값을 무시합니다.

구문

MAX ( [ ALL ] expression ) OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list frame_clause ] )

인수

표현식

함수가 실행되는 대상 열 또는 표현식입니다.

ALL

인수가 ALL일 때는 함수가 표현식의 모든 중복 값을 그대로 유지합니다. ALL이 기본값입니다. DISTINCT는 지원되지 않습니다.

OVER

집계 함수의 창 절을 지정하는 절입니다. OVER 절은 창 집계 함수와 일반적인 집합 집계 함수를 구분하는 역할을 합니다.

PARTITION BY expr_list

하나 이상의 표현식과 관련하여 MAX 함수의 창을 정의합니다.

ORDER BY order_list

각 파티션의 행을 정렬합니다. PARTITION BY를 지정하지 않으면 ORDER BY가 전체 테이블을 사용합니다.

frame_clause

집계 함수에서 ORDER BY 절이 사용되면 명시적인 프레임 절이 필요합니다. 프레임 절은 순서가 지정된 결과 내에 행 집합을 추가하거나 제거함으로써 함수의 창에 포함되는 행 집합을 정제하는 역할을 하며, ROWS 키워드와 관련 지정자로 구성됩니다. 창 함수 구문 요약 섹션을 참조하세요.

데이터 타입

입력값으로 모든 데이터 형식을 지원합니다. expression과 동일한 데이터 형식을 반환합니다.

예제

다음 예에서는 데이터 윈도의 시작부터 판매 ID, 수량 및 최대 수량을 보여줍니다.

select salesid, qty, max(qty) over (order by salesid rows unbounded preceding) as max from winsales order by salesid; salesid | qty | max ---------+-----+----- 10001 | 10 | 10 10005 | 30 | 30 10006 | 10 | 30 20001 | 20 | 30 20002 | 20 | 30 30001 | 10 | 30 30003 | 15 | 30 30004 | 20 | 30 30007 | 30 | 30 40001 | 40 | 40 40005 | 10 | 40 (11 rows)

요청 데이터에 대한 설명은 창 함수 예제를 위한 샘플 테이블 섹션을 참조하세요.

다음 예에서는 제한적 프레임 내에서 판매 ID, 수량 및 최대 수량을 보여줍니다.

select salesid, qty, max(qty) over (order by salesid rows between 2 preceding and 1 preceding) as max from winsales order by salesid; salesid | qty | max ---------+-----+----- 10001 | 10 | 10005 | 30 | 10 10006 | 10 | 30 20001 | 20 | 30 20002 | 20 | 20 30001 | 10 | 20 30003 | 15 | 20 30004 | 20 | 15 30007 | 30 | 20 40001 | 40 | 30 40005 | 10 | 40 (11 rows)