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


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)