Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
MAXfonction de fenêtre
La fonction MAX window renvoie le maximum des valeurs d'expression d'entrée. La MAX fonction fonctionne avec des valeurs numériques et ignore NULL les valeurs.
Syntaxe
MAX ( [ ALL ] expression ) OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list frame_clause ] )
Arguments
- expression
-
Colonne cible ou expression sur laquelle la fonction opère.
- ALL
-
Avec l'argumentALL, la fonction conserve toutes les valeurs dupliquées de l'expression. ALLest la valeur par défaut. DISTINCT n’est pas pris en charge.
- OVER
-
Clause qui spécifie les clauses de fenêtrage des fonctions d’agrégation. La OVER clause distingue les fonctions d'agrégation de fenêtres des fonctions d'agrégation d'ensembles normales.
- PARTITIONPAR expr_list
-
Définit la fenêtre de la MAX fonction en termes d'une ou de plusieurs expressions.
- ORDERPAR order_list
-
Trie les lignes dans chaque partition. Si aucun PARTITION BY n'est spécifié, ORDER BY utilise la table entière.
- frame_clause
-
Si une clause ORDER BY est utilisée pour une fonction d'agrégation, une clause de cadre explicite est requise. La clause de cadre affine l’ensemble de lignes dans la fenêtre d’une fonction, en incluant ou en excluant des ensembles de lignes du résultat ordonné. La clause frame comprend le ROWS mot-clé et les spécificateurs associés. Consultez Récapitulatif de la syntaxe de la fonction de fenêtrage.
Types de données
Accepte n’importe quel type de données comme entrée. Renvoie le même type de données que expression.
Exemples
L’exemple suivant montre l’affichage de l’ID de ventes, la quantité et la quantité maximale dès le début de la fenêtre de données :
select salesid, qty, max(qty) over (order by salesid rows unbounded preceding) as max from winsales order by salesid; salesid | qty | max ---------+-----+----- 10001 | 10 | 10 10005 | 30 | 30 10006 | 10 | 30 20001 | 20 | 30 20002 | 20 | 30 30001 | 10 | 30 30003 | 15 | 30 30004 | 20 | 30 30007 | 30 | 30 40001 | 40 | 40 40005 | 10 | 40 (11 rows)
Pour une description du WINSALES tableau, voirExemple de tableau contenant des exemples de fonctions de fenêtrage.
L’exemple suivant montre l’affichage de l’ID de vente, la quantité et la quantité maximale dans un cadre limité :
select salesid, qty, max(qty) over (order by salesid rows between 2 preceding and 1 preceding) as max from winsales order by salesid; salesid | qty | max ---------+-----+----- 10001 | 10 | 10005 | 30 | 10 10006 | 10 | 30 20001 | 20 | 30 20002 | 20 | 20 30001 | 10 | 20 30003 | 15 | 20 30004 | 20 | 15 30007 | 30 | 20 40001 | 40 | 30 40005 | 10 | 40 (11 rows)