Freigeben über


CollectTOP

✅ Azure Stream Analytics ✅ Fabric Eventstream

Gibt ein Array von bewerteten Datensätzen zurück, wobei der Rang die Rangposition des Ereignisses im Fenster gemäß der angegebenen Reihenfolge definiert. Sortierung/Rangfolge basiert auf Ereignisspalten und kann in ORDER BY-Klausel angegeben werden.

Syntax

-- 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>])

Argumente

<Anzahl der Ereignisse als ganzzahliges Literal>

Die Anzahl der wichtigsten Ereignisse, die der Benutzer aus dem Fenster sammeln möchte.

<scalar_expression>

CollectTop akzeptiert einen optionalen skalaren Ausdruck, mit dem Sie eine Projektion über die gesammelten Ereignisse angeben können. Ohne den Parameter werden vollständige Ereignisdatensätze erfasst.

<Spaltenname>

Name der Spalte im Eingabeereignis, nach der sortiert wird. Nur die Sortierung nach bigint/float/datetime-Typen ist zulässig.

OVER ([<PARTITION BY-Klausel><LIMIT DURATION-Klausel [<WHEN-Klausel>>]]

Bestimmt die Gruppe von Zeilen, auf die CollectTop angewendet wird. Die PARTITION BY-Klausel gibt an, dass die Zeilen mit demselben Partitionsschlüssel gruppiert werden. Die LIMIT DURATION-Klausel gibt an, wie viel Verlauf in der Gruppe enthalten ist. Die WHEN-Klausel gibt eine boolesche Bedingung für die Zeilen an, die in die Gruppe eingeschlossen werden sollen. Weitere Informationen zur Verwendung finden Sie unter OVER-Klausel .

Rückgabetypen

Array von Datensätzen vom Typ { "rank" : bigint, "value": <projected_type }, wobei <projected_type>> der Typ des <scalar_expression> Oder eines Datensatzes ist, wenn kein Ausdruck angegeben wird.

Bemerkungen

Null wird als Minimalwert behandelt, um weitere Informationen zu erfahren. https://msdn.microsoft.com/library/ms188385.aspx

Beispiele

SELECT   
    value1,  
    CollectTop(2) OVER (ORDER BY value2 ASC, value3 DESC) as top1  
FROM testinput timestamp by time  
GROUP BY TumblingWindow(second, 5), value1  

Beispieleingabe:

Beispieleingabe

Beispielausgabe:

Beispielausgabe

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