Partager via


MAX (Azure Stream Analytics)

Retourne la valeur maximale de l'expression.

Syntaxe

-- Aggregate Function Syntax
MAX ( expression )

-- Analytic Function Syntax
MAX ( 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.

MAX peut être utilisé avec les colonnes Bit, Bigint, Datetime et Float.

MAX peut également être utilisé avec NVARCHAR(MAX) avec le comportement suivant :

  • Si la colonne n’a pas été explicitement convertie en NVARCHAR(MAX), MAX 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 maximale est retournée.

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

Détermine le groupe de lignes sur lequel MAX 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 maximal à chaque tarif toutes les heures :

SELECT
  TollId,
  System.Timestamp() AS WindowEnd,
  MAX(Toll) AS MaxFare
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 maximum de la dernière heure:

SELECT
  TollId,
  System.Timestamp() AS PassageTime,
  LicensePlate,
  Toll AS Fare,
  MAX (Toll) OVER (PARTITION BY VehicleClass LIMIT DURATION(hour,1)) AS MaximumFareOverLastHour
FROM Input TIMESTAMP BY EntryTime

Voir aussi