MIN (Azure Stream Analytics)
Retourne la valeur minimale de l'expression.
Syntaxe
-- Aggregate Function Syntax
MIN ( expression )
-- Analytic Function Syntax
MIN ( expression ) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
Arguments
expression
Constante, nom de colonne ou fonction, et toute combinaison d'opérateurs arithmétiques. Les fonctions d'agrégation et les sous-requêtes ne sont pas autorisées.
MIN peut être utilisé avec les colonnes Bit, Bigint, Datetime et Float.
MIN peut également être utilisé avec NVARCHAR(MAX) avec le comportement suivant :
- Si la colonne n’a pas été explicitement convertie en NVARCHAR(MAX), MIN tente de la convertir implicitement en FLOAT. Les incompatibilités de type entraînent des erreurs.
- Si la colonne a été explicitement convertie en NVARCHAR(MAX) à l’aide de CAST ou de TRY_CAST, la valeur de chaîne minimale est retournée.
OVER ([<CLAUSE LIMIT DURATION> de la clause><PARTITION BY [<clause> WHEN]]
Détermine le groupe de lignes sur lequel MIN 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
Renvoie une valeur identique à l'expression.
Exemples
Avec la syntaxe d’agrégation, nous allons réduire le nombre de lignes. Ici, nous sélectionnons le tarif minimum à chaque péage toutes les heures :
SELECT
TollId,
System.Timestamp() AS WindowEnd,
MIN(Toll) AS MinFare
FROM Input TIMESTAMP BY EntryTime
GROUP BY
TollId,
TumblingWindow(hour,1)
Avec la syntaxe d’analytique, nous conservons la cardinalité d’entrée. Ici, pour chaque véhicule passant par le péage, nous comparons le prix actuel au minimum de la dernière heure :
SELECT
TollId,
System.Timestamp() AS PassageTime,
LicensePlate,
Toll AS Fare,
MIN (Toll) OVER (PARTITION BY VehicleClass LIMIT DURATION(hour,1)) AS MinimumFareOverLastHour
FROM Input TIMESTAMP BY EntryTime