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)