Partager via


CollectTOP

✅ Azure Stream Analytics ✅ Fabric Eventstream

Retourne un tableau d’enregistrements classés, où le classement définit la position de classement de l’événement dans la fenêtre en fonction de l’ordre spécifié. L’ordre/classement est basé sur les colonnes d’événements et peut être spécifié dans la clause ORDER BY.

Syntaxe

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

Les arguments

<nombre d’événements en tant que littéral entier>

Nombre d’événements principaux que l’utilisateur souhaite collecter à partir de la fenêtre.

<scalar_expression>

CollectTop prend une expression scalaire facultative qui vous permet de spécifier une projection sur les événements collectés. Sans le paramètre, les enregistrements d’événements complets sont collectés.

<nom de colonne>

Nom de la colonne dans l’événement d’entrée, selon lequel l’ordre sera effectué. Seul l’ordre par les types bigint/float/datetime est autorisé.

OVER ([<CLAUSE LIMIT DURATION de clause>>< PARTITION BY [<clause> WHEN]]

Détermine le groupe de lignes sur lesquelles CollectTop est appliqué. La clause PARTITION BY spécifie que les lignes avec la même clé de partition seront regroupées. La clause LIMIT DURATION spécifie la quantité d’historique incluse dans le groupe. La clause WHEN spécifie une condition booléenne pour que les lignes soient incluses dans le groupe. Pour plus d’informations sur l’utilisation, consultez la clause OVER .

Types de retour

Tableau d’enregistrements de type { « rank » : bigint, « value » : <projected_type> }, où <projected_type> est le type du <scalar_expression> ou un enregistrement si aucune expression n’est spécifiée.

Remarques

La valeur Null est traitée comme la valeur minimale, pour plus d’informations, consultez https://msdn.microsoft.com/library/ms188385.aspx

Exemples

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

Exemple d’entrée :

Exemple d’entrée

Exemple de sortie :

Exemple de sortie

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