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.
Die AVG-Funktion gibt den Durchschnitt (das arithmetische Mittel) der Eingabeausdruckwerte zurück. Die Funktion AVG ist mit numerischen Werten kompatibel und ignoriert NULL-Werte.
Syntax
AVG ( [ DISTINCT | ALL ] expression )
Argumente
- Ausdruck
-
Die Zielspalte oder der Ausdruck, für die/den die Funktion ausgeführt wird. Der Ausdruck ist einer der folgenden Datentypen:
SMALLINT
INTEGER
BIGINT
NUMERIC
DECIMAL
REAL
DOUBLE PRECISION
SUPER
- DISTINCT | ALL
-
Mit dem Argument DISTINCT beseitigt die Funktion alle duplizierten Werte aus dem angegebenen Ausdruck, bevor der Durchschnitt berechnet wird. Mit dem Argument ALL behält die Funktion alle duplizierten Werte aus dem angegebenen Ausdruck, um den Durchschnitt zu berechnen. ALL ist das Standardargument.
Datentypen
Die von der Funktion AVG unterstützten Argumenttypen sind SMALLINT, INTEGER, BIGINT, NUMERIC, DECIMAL, REAL, DOUBLE PRECISION und SUPER.
Die von der Funktion AVG unterstützten Rückgabetypen sind:
-
BIGINT für ein Ganzzahl-Argument
-
DOUBLE PRECISION für ein Gleitkomma-Argument
Gibt denselben Datentyp wie „expression“ für jeden anderen Argumenttyp zurück.
Die Standardpräzision für ein Ergebnis der AVG-Funktion des Typs NUMERIC oder DECIMAL ist 38. Die Ergebnisskala ist die gleiche wie die Skala des Arguments. Beispielsweise gibt eine AVG-Funktion für eine DEC(5,2)-Spalte einen DEC(38,2)-Datentyp zurück.
Beispiele
Suche der durchschnittlich verkauften Menge pro Transaktion in der Tabelle SALES:
select avg(qtysold)from sales;
avg
-----
2
(1 row)
Suche des durchschnittlichen aufgelisteten Gesamtpreises für alle Einträge:
select avg(numtickets*priceperticket) as avg_total_price from listing;
avg_total_price
-----------------
3034.41
(1 row)
Suche des durchschnittlich gezahlten Preises nach Monat in absteigender Reihenfolge:
select avg(pricepaid) as avg_price, month
from sales, date
where sales.dateid = date.dateid
group by month
order by avg_price desc;
avg_price | month
-----------+-------
659.34 | MAR
655.06 | APR
645.82 | JAN
643.10 | MAY
642.72 | JUN
642.37 | SEP
640.72 | OCT
640.57 | DEC
635.34 | JUL
635.24 | FEB
634.24 | NOV
632.78 | AUG
(12 rows)