TopOne (Azure Stream Analytics)
Retourneert de hoogste rangschikkingsrecord, waarbij rangschikking de rangschikkingspositie van de gebeurtenis in het venster definieert op basis van de opgegeven volgorde. Volgorde/rangschikking is gebaseerd op gebeurteniskolommen en kan worden opgegeven in de COMPONENT ORDER BY.
Syntaxis
-- 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>])
Argumenten
<scalar_expression>
TopOne maakt gebruik van een optionele scalaire expressie waarmee u een projectie over de bovenste gebeurtenis kunt opgeven. Zonder de parameter wordt de volledige gebeurtenisrecord geretourneerd.
<column_name>
Hiermee geeft u de naam op van de kolom in de invoer-gebeurtenis waarmee de volgorde wordt uitgevoerd. Houd er rekening mee dat alleen bestellen op bigint-, float- en datetime-typen is toegestaan.
OVER ([<COMPONENT PARTITION BY><COMPONENT LIMIT DURATION> [<WHEN component>]]
Bepaalt de groep rijen waarop TopOne wordt toegepast. De PARTITION BY-component geeft aan dat de rijen met dezelfde partitiesleutel worden gegroepeerd. De component LIMIT DURATION geeft aan hoeveel geschiedenis wordt opgenomen in de groep. De optionele WHEN-component geeft een Booleaanse voorwaarde op voor de rijen die moeten worden opgenomen in de groep. Zie OVER-component voor meer informatie over het gebruik.
Retourtypen
De waarde die wordt geprojecteerd door de <scalar_expression>
parameter of een recordwaarde als er geen parameter is opgegeven.
Voorbeelden
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)