MAX (Azure Stream Analytics)
Возвращает максимальное значение выражения.
Синтаксис
-- 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. Несоответствие типов приведет к ошибкам.
- Если столбец был явно приведен к 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
См. также:
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по