CollectTOP (Azure Stream Analytics)
Renvoie un tableau d'enregistrements classés, où rank définit la position de l'événement dans la fenêtre selon le mode de classement spécifié. Le classement est basé sur des colonnes d'événement 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>])
Arguments
<number of events as integer literal>
Nombre des principaux événements 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, sur laquelle le classement doit être effectué. Seul un classement par type float/bigint/datetime est autorisé.
OVER ([<CLAUSE LIMIT DURATION> de la clause><PARTITION BY [<clause> WHEN]]
Détermine le groupe de lignes sur lequel 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 les lignes à inclure 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 d’un <scalar_expression>
enregistrement ou si aucune expression n’est spécifiée.
Notes
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 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