- Catégories :
Fonctions d’agrégation (General) , Fonctions de fenêtre
MAX¶
Renvoie la valeur maximale des enregistrements correspondants à expr. Les valeurs NULL sont ignorées sauf si tous les enregistrements sont NULL, auquel cas une valeur NULL est renvoyée.
Syntaxe¶
Fonction d’agrégation
Fonction de fenêtre
Pour plus de détails sur la syntaxe window_frame, voir Syntaxe et utilisation des fonctions de fenêtre.
Renvoie¶
Le type de données de la valeur renvoyée est identique à celui des valeurs d’entrée.
Notes sur l’utilisation¶
Pour des raisons de compatibilité avec d’autres systèmes, vous pouvez spécifier le mot-clé DISTINCT en tant qu’argument de la fonction, mais cela n’a aucun effet.
Si la fonction est appelée en tant que fonction de fenêtrage, la fenêtre peut inclure un
window_framefacultatif. Lewindow_frame(cumulatif ou glissant) spécifie le sous-ensemble de lignes de la fenêtre pour lesquelles les valeurs cumulées sont renvoyées. Si aucunwindow_framen’est pas spécifié, la valeur par défaut est le cadre de fenêtre cumulatif suivant (conformément à la norme ANSI pour les fonctions de fenêtre) :RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROWPour plus d’informations sur les cadres de fenêtre, y compris la syntaxe et des exemples, voir Notes sur l’utilisation des cadres de fenêtre.
Détails du classement¶
The comparisons follow the collation based on the input arguments” collations and precedences.
The collation of the result is the same as the collation of the input.
Exemples¶
Ces exemples montrent comment utiliser la fonction MAX.
Créez une table et des données :
Afficher les données :
Utilisez la fonction MAX pour récupérer la plus grande valeur dans la colonne nommée d :
Combinez la clause GROUP BY avec la fonction MAX pour récupérer les valeurs les plus grandes dans chaque groupe (chaque groupe étant basé sur la valeur de la colonne k) :
Use a PARTITION BY clause to break the data into groups based on the
value of k. This is similar to, but not identical to, using
GROUP BY. In particular, GROUP BY produces one output
row per group, while PARTITION BY produces one output row per input
row.
Utilisez une clause ORDER BY de fenêtrage pour créer une fenêtre glissante de deux lignes de large et générer la valeur la plus élevée dans cette fenêtre. (N’oubliez pas que ORDER BY dans la clause de fenêtrage se distingue de ORDER BY au niveau de l’instruction.) Cet exemple utilise une seule partition, il n’y a donc pas de clause PARTITION BY dans la clause OVER().