mean
-Aggregatfunktion
Gilt für: Databricks SQL Databricks Runtime
Gibt den Mittelwert zurück, der aus Werten einer Gruppe berechnet wird. Diese Funktion ist ein Synonym für die avg-Aggregatfunktion.
Syntax
mean ( [ALL | DISTINCT] expr ) [FILTER ( WHERE cond ) ]
Diese Funktion kann auch mithilfe der OVER
-Klausel als Fensterfunktion aufgerufen werden.
Argumente
expr
: Ein Ausdruck, der in einen numerischen Wert ausgewertet wird.cond
: Ein optionaler boolescher Ausdruck, der die für die Aggregation verwendeten Zeilen filtert.
Gibt zurück
Der Ergebnistyp wird wie für die Argumente berechnet:
DECIMAL(p, s)
: Der Ergebnistyp ist einDECIMAL(p + 4, s + 4)
-Wert. Wenn die maximale Genauigkeit für DECIMAL erreicht ist, wird die Genauigkeit nicht weiter erhöht, um den Verlust signifikanter Stellen zu vermeiden.- Jahres-/Monats-Intervall: Das Ergebnis ist ein
INTERVAL YEAR TO MONTH
-Wert. - Tages-/Zeit-Intervall: Das Ergebnis ist ein
INTERVAL DAY TO SECOND
-Wert. - In allen anderen Fällen ist das Ergebnis ein DOUBLE-Wert.
NULL-Werte innerhalb der Gruppe werden ignoriert. Wenn eine Gruppe leer ist oder nur aus NULL-Werten besteht, ist das Ergebnis NULL.
Wenn DISTINCT
angegeben ist, wird der Mittelwert berechnet, nachdem Duplikate entfernt wurden.
Warnung
Wenn spark.sql.ansi.enabled in Databricks Runtime auf false
festgelegt ist, gibt ein Überlauf NULL
anstelle eines Fehlers zurück.
Beispiele
> SELECT mean(col) FROM VALUES (1), (2), (3) AS tab(col);
2.0
> SELECT mean(DISTINCT col) FROM VALUES (1), (1), (2), (NULL) AS tab(col);
1.5
> SELECT mean(col) FROM VALUES (1), (2), (NULL) AS tab(col);
1.5