AVGfonction de fenêtre - Amazon Redshift

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.

AVGfonction de fenêtre

La fonction AVG window renvoie la moyenne (moyenne arithmétique) des valeurs d'expression d'entrée. La AVG fonction fonctionne avec des valeurs numériques et ignore NULL les valeurs.

Syntaxe

AVG ( [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 à des fins de comptage. ALLest la valeur par défaut. DISTINCT n’est pas pris en charge.

OVER

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 AVG 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

Les types d'arguments pris en charge par la AVG fonction sont SMALLINT INTEGERBIGINT,NUMERIC,DECIMAL,REAL, et DOUBLEPRECISION.

Les types de retour pris en charge par la AVG fonction sont les suivants :

  • BIGINTpour SMALLINT nos INTEGER arguments

  • NUMERICpour les BIGINT arguments

  • DOUBLEPRECISIONpour les arguments à virgule flottante

Exemples

L’exemple suivant montre le calcul d’une moyenne mobile des quantités vendues par date, et le classement des résultats par ID de date et ID de vente :

select salesid, dateid, sellerid, qty, avg(qty) over (order by dateid, salesid rows unbounded preceding) as avg from winsales order by 2,1; salesid | dateid | sellerid | qty | avg ---------+------------+----------+-----+----- 30001 | 2003-08-02 | 3 | 10 | 10 10001 | 2003-12-24 | 1 | 10 | 10 10005 | 2003-12-24 | 1 | 30 | 16 40001 | 2004-01-09 | 4 | 40 | 22 10006 | 2004-01-18 | 1 | 10 | 20 20001 | 2004-02-12 | 2 | 20 | 20 40005 | 2004-02-12 | 4 | 10 | 18 20002 | 2004-02-16 | 2 | 20 | 18 30003 | 2004-04-18 | 3 | 15 | 18 30004 | 2004-04-18 | 3 | 20 | 18 30007 | 2004-09-07 | 3 | 30 | 19 (11 rows)

Pour une description du WINSALES tableau, voirExemple de tableau contenant des exemples de fonctions de fenêtrage.