Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
✅ Поток событий Azure Stream Analytics ✅ Fabric
Возвращает массив ранжированных записей, где ранг определяет позицию ранжирования события в окне в соответствии с указанным порядком. Порядок и ранжирование основан на столбцах событий и может быть указан в предложении ORDER BY.
Синтаксис
-- Aggregate Function Syntax
CollectTop(<number of events as integer literal> [ , <scalar_expression> ]) OVER (ORDER BY (<column name> [ASC |DESC])+)
-- Analytic Function Syntax
CollectTop(<number of events as integer literal> [ , <scalar_expression> ]) OVER ([<PARTITION BY clause>] ORDER BY (<column name> [ASC | DESC])+ <LIMIT DURATION clause> [<WHEN clause>])
Аргументы
<число событий в виде целочисленного литерала>
Количество основных событий, которые пользователь хочет собрать из окна.
<scalar_expression>
CollectTop принимает необязательное скалярное выражение, позволяющее указать проекцию по собранным событиям. Без параметра собираются полные записи событий.
<Имя столбца>
Имя столбца во входном событии, с помощью которого будет выполнено упорядочение. Разрешено только упорядочение по типам bigint/float/datetime.
OVER ([<предложение>>< PARTITION BY LIMIT DURATION [<ПРЕДЛОЖЕНИЕ WHEN>]]
Определяет группу строк, над которым применяется Метод CollectTop. Предложение PARTITION BY указывает, что строки с одним ключом секции будут сгруппированы вместе. Предложение LIMIT DURATION указывает, сколько журналов включено в группу. Предложение WHEN указывает логическое условие для строк, которые должны быть включены в группу. Дополнительные сведения об использовании см. в предложении OVER .
Типы возвращаемых данных
Массив записей типа { "rank": bigint, "value": <projected_type> }, где <projected_type> тип <scalar_expression>
или запись, если выражение не указано.
Замечания
Значение NULL обрабатывается как минимальное значение, для получения дополнительных сведений см. https://msdn.microsoft.com/library/ms188385.aspx
Примеры
SELECT
value1,
CollectTop(2) OVER (ORDER BY value2 ASC, value3 DESC) as top1
FROM testinput timestamp by time
GROUP BY TumblingWindow(second, 5), value1
Пример входных данных:
Пример выходных данных:
SELECT
value1,
CollectTop(2, x + y) OVER (ORDER BY value2 ASC, value3 DESC) as top1
FROM testinput timestamp by time
GROUP BY TumblingWindow(second, 5), value1