Поделиться через


TopOne

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

Возвращает запись верхнего ранга, где ранг определяет позицию ранжирования события в окне в соответствии с указанным порядком. Порядок и ранжирование основан на столбцах событий и может быть указан в предложении 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)