Delen via


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)