TopOne (Azure Stream Analytics)
Возвращает запись верхнего ранга, где rank определяет позицию события в окне в соответствии с указанным порядком. Порядок и ранжирование основаны на столбцах событий и могут быть указаны в предложении ORDER BY.
Синтаксис
-- Aggregate Function Syntax
TopOne( [ <scalar_expression> ] ) OVER (ORDER BY (<column name> [ASC |DESC])+)
-- Analytic Function Syntax
TopOne( [ <scalar_expression> ] ) OVER ([<PARTITION BY clause>] ORDER BY (<column name> [ASC |DESC])+ <LIMIT DURATION clause> [<WHEN clause>])
Аргументы
<scalar_expression>
TopOne принимает необязательное скалярное выражение, которое позволяет указать проекцию по верхнему событию. Без параметра возвращается полная запись события.
<column_name>
Указывает имя столбца во входном событии, по которому выполняется упорядочение. Обратите внимание, что разрешено упорядочивание только по типам bigint, float и datetime.
OVER (предложение< PARTITION BY><LIMIT DURATION> [<предложение> WHEN]]
Определяет группу строк, к которым применяется TopOne. Предложение PARTITION BY указывает, что строки с одним и тем же ключом секции будут сгруппированы. Предложение LIMIT DURATION указывает, какой объем журнала включается в группу. Необязательное предложение WHEN задает логическое условие для строк, которые будут включены в группу. Дополнительные сведения об использовании см. в разделе Предложение OVER .
Типы возвращаемых данных
Значение, проецированное параметром <scalar_expression>
, или значение записи, если параметр не указан.
Примеры
SELECT
TopOne() OVER (ORDER BY value DESC) as topEvent
FROM input
GROUP BY Tumbling(second, 10)
SELECT
TopOne(x * y) OVER (ORDER BY value DESC) as topEvent
FROM input
GROUP BY Tumbling(second, 10)