Freigeben über


mean-Aggregatfunktion

Gilt für: durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert 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 ein DECIMAL(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