median
-Aggregatfunktion
Gilt für: Databricks SQL Databricks Runtime 11.3 LTS und höher
Gibt den aus den Werten einer Gruppe berechneten Median zurück.
Syntax
median ( [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 oder in ein Intervall ausgewertet wird.cond
: Ein optionaler boolescher Ausdruck, der die für die Aggregation verwendeten Zeilen filtert.
Gibt zurück
Im Folgenden wird erläutert, wie die Ergebnistypen berechnet werden:
- 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, werden Duplikate entfernt und der Median wird berechnet.
Diese Funktion ist ein Synonym für percentile_cont(0.5) WITHIN GROUP (ORDER BY expr).
Beispiele
> SELECT median(col) FROM VALUES (1), (2), (2), (3), (4), (NULL) AS tab(col);
2.0
> SELECT median(DISTINCT col) FROM VALUES (1), (2), (2), (3), (4), (NULL) AS tab(col);
2.5
> SELECT median(col) FROM VALUES (INTERVAL '1' YEAR), (INTERVAL '2' YEAR) AS tab(col);
1-6