МАКС

✅ Поток событий Azure Stream Analytics ✅ Fabric

Возвращает максимальное значение в выражении.

Синтаксис

-- Aggregate Function Syntax
MAX ( expression )

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

Аргументы

выражение

Является константой, именем столбца или функцией и любой комбинацией арифметических операторов. Агрегатные функции и вложенные запросы не допускаются.

MAX можно использовать с столбцами Bit, Bigint, Datetime и Float.

MAX также можно использовать с NVARCHAR(MAX) со следующим поведением:

  • Если столбец не был явно приведение к NVARCHAR(MAX), max попытается неявно привести его к FLOAT. Несоответствие типов приведет к ошибкам.
  • Если столбец был явно приведение к NVARCHAR(MAX) с помощью CAST или TRY_CAST, будет возвращено максимальное строковое значение.

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)

С помощью синтаксиса аналитики мы поддерживаем кратность входных данных. Здесь для каждого транспортного средства, который проходит через платные, мы сравниваем текущий тариф с максимальным за последний час:

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

См. также