Lezen in het Engels

Delen via


CollectTOP (Azure Stream Analytics)

Retourneert een matrix van gerangschikte records, waarbij rang 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
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>])

Argumenten

<aantal gebeurtenissen als letterlijk geheel getal>

Het aantal belangrijkste gebeurtenissen dat de gebruiker uit het venster wil verzamelen.

<scalar_expression>

CollectTop maakt gebruik van een optionele scalaire expressie waarmee u een projectie over de verzamelde gebeurtenissen kunt opgeven. Zonder de parameter worden volledige gebeurtenisrecords verzameld.

<kolomnaam>

Naam van de kolom in de invoer-gebeurtenis, waarmee de volgorde wordt uitgevoerd. Alleen bestellen op bigint-/float-/datetime-typen is toegestaan.

OVER ([<COMPONENT PARTITION BY><COMPONENT LIMIT DURATION> [<WHEN component>]]

Bepaalt de groep rijen waarop CollectTop 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 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

Matrix van records van het type { "rank" : bigint, "value": <projected_type> }, waarbij <projected_type> het type van de <scalar_expression> of een record is als er geen expressie is opgegeven.

Opmerkingen

Null wordt behandeld als de minimale waarde. Bekijk voor meer informatie https://msdn.microsoft.com/library/ms188385.aspx

Voorbeelden

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

Voorbeeldinvoer:

Voorbeeldinvoer

Voorbeelduitvoer:

Voorbeelduitvoer

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