AVGFenster-Funktion - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AVGFenster-Funktion

Die AVG Fensterfunktion gibt den Durchschnitt (das arithmetische Mittel) der Werte der Eingabeausdrücke zurück. Die AVG Funktion arbeitet mit numerischen Werten und ignoriert NULL Werte.

Syntax

AVG ( [ALL ] expression ) OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list frame_clause ] )

Argumente

Ausdruck

Die Zielspalte oder der Ausdruck, für die/den die Funktion ausgeführt wird.

ALL

Mit dem Argument ALL behält die Funktion alle doppelten Werte aus dem Ausdruck zum Zählen bei. ALList die Standardeinstellung. DISTINCT wird nicht unterstützt.

OVER

Gibt die Fensterklauseln für die Aggregationsfunktionen an. Die OVER Klausel unterscheidet Fensteraggregationsfunktionen von normalen Aggregationsfunktionen für Gruppen.

PARTITIONVON expr_list

Definiert das Fenster für die AVG Funktion in Form eines oder mehrerer Ausdrücke.

ORDERVON order_list

Sortiert die Zeilen innerhalb der einzelnen Partitionen. Wenn kein PARTITION BY angegeben ist, verwendet ORDER BY die gesamte Tabelle.

frame_clause

Wenn eine ORDER BY-Klausel für eine Aggregatfunktion verwendet wird, ist eine explizite Frame-Klausel erforderlich. Die Rahmenklausel gibt den Satz von Zeilen im Fenster einer Funktion genauer an, einschließlich oder ausschließlich Sätzen von Zeilen innerhalb des geordneten Ergebnisses. Die Frame-Klausel besteht aus dem ROWS Schlüsselwort und den zugehörigen Spezifizierern. Siehe Übersicht über die Syntax von Fensterfunktionen.

Datentypen

Die von der AVG Funktion unterstützten Argumenttypen sindSMALLINT,INTEGER,BIGINT,NUMERIC, DECIMALREAL, und DOUBLEPRECISION.

Die von der AVG Funktion unterstützten Rückgabetypen sind:

  • BIGINTfür SMALLINT oder INTEGER Argumente

  • NUMERICfür BIGINT Argumente

  • DOUBLEPRECISIONfür Fließkomma-Argumente

Beispiele

Im folgenden Beispiel wird ein gleitender Durchschnitt von verkauften Mengen nach Datum berechnet und die Ergebnisse nach Datums- und Verkaufs-ID geordnet:

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)

Eine Beschreibung der WINSALES Tabelle finden Sie unterBeispieltabelle mit Beispielen von Fensterfunktionen.