TopOne (Azure Stream Analytics)

Gibt den Datensatz der obersten Rangfolge zurück, wobei rang die Rangposition des Ereignisses im Fenster gemäß der angegebenen Reihenfolge definiert. Die Sortierung/Rangfolge basiert auf Ereignisspalten und kann in einer ORDER BY-Klausel angegeben werden.

Syntax

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

Argumente

<scalar_expression>

TopOne verwendet einen optionalen skalaren Ausdruck, mit dem Sie eine Projektion über das oberste Ereignis angeben können. Ohne den Parameter wird der vollständige Ereignisdatensatz zurückgegeben.

<Column_name>

Gibt den Namen der Spalte im Eingabeereignis an, mit der die Reihenfolge erfolgt. Beachten Sie, dass nur die Sortierung nach bigint-, float- und datetime-Typen zulässig ist.

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

Bestimmt die Gruppe von Zeilen, auf die TopOne 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 optionale 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

Wert, der <scalar_expression> vom Parameter projiziert wird, oder ein Datensatzwert, wenn kein Parameter angegeben wird.

Beispiele

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)