다음을 통해 공유


MAX(Azure 스트림 분석)

식의 최대값을 반환합니다.

Syntax

-- Aggregate Function Syntax
MAX ( expression )

-- Analytic Function Syntax
MAX ( expression ) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])

인수

expression

상수, 열 이름 또는 함수와 산술 연산자 조합입니다. 집계 함수와 하위 쿼리는 허용되지 않습니다.

MAX는 Bit, Bigint, Datetime 및 Float 열과 함께 사용할 수 있습니다.

MAX는 다음 동작과 함께 NVARCHAR(MAX)와 함께 사용할 수도 있습니다.

  • 열이 NVARCHAR(MAX)로 명시적으로 캐스팅되지 않은 경우 MAX는 암시적으로 FLOAT로 캐스팅하려고 시도합니다. 형식 불일치로 인해 오류가 발생합니다.
  • CAST 또는 TRY_CAST 사용하여 열이 NVARCHAR(MAX)로 명시적으로 캐스팅된 경우 최대 문자열 값이 반환됩니다.

OVER ([<PARTITION BY 절><LIMIT DURATION 절> [<WHEN 절>]]

MAX가 적용되는 행 그룹을 결정합니다. PARTITION BY 절은 동일한 파티션 키를 가진 행이 함께 그룹화되도록 지정합니다. LIMIT DURATION 절은 그룹에 포함된 기록의 양을 지정합니다. WHEN 절은 그룹에 포함할 행에 대한 부울 조건을 지정합니다. 사용량에 대한 자세한 내용은 OVER 절 을 참조하세요.

반환 형식

식과 같은 값을 반환합니다.

예제

집계 구문을 사용하여 행 수를 줄입니다. 여기서는 매시간 각 통행료의 최대 요금을 선택합니다.

SELECT
  TollId,
  System.Timestamp() AS WindowEnd,
  MAX(Toll) AS MaxFare
FROM Input TIMESTAMP BY EntryTime
GROUP BY
  TollId,
  TumblingWindow(hour,1)

분석 구문을 사용하여 입력 카디널리티를 유지 관리합니다. 여기서는 통행료를 통과하는 모든 차량에 대해 현재 요금을 지난 1시간 동안의 최대 요금과 비교합니다.

SELECT
  TollId,
  System.Timestamp() AS PassageTime,
  LicensePlate,
  Toll AS Fare,
  MAX (Toll) OVER (PARTITION BY VehicleClass LIMIT DURATION(hour,1)) AS MaximumFareOverLastHour
FROM Input TIMESTAMP BY EntryTime

참고 항목