mean
funkcja agregacji
Dotyczy: Databricks SQL Databricks Runtime
Zwraca średnią obliczoną na podstawie wartości grupy. Ta funkcja jest synonimem średniej funkcji agregującej.
Składnia
mean ( [ALL | DISTINCT] expr ) [FILTER ( WHERE cond ) ]
Tę funkcję można również wywołać jako funkcję okna przy użyciu klauzuli OVER
.
Argumenty
expr
: wyrażenie, które daje w wyniku wartość liczbową.cond
: opcjonalne wyrażenie logiczne filtrujące wiersze używane do agregacji.
Zwraca
Typ wyniku jest obliczany jako argumenty:
DECIMAL(p, s)
: typ wyniku to aDECIMAL(p + 4, s + 4)
. Jeśli osiągnięto maksymalną precyzję liczby dziesiętnej, zwiększenie skali jest ograniczone, aby uniknąć utraty znaczących cyfr.- interwał miesiąca: wynik to
INTERVAL YEAR TO MONTH
. - Interwał dnia: wynik to
INTERVAL DAY TO SECOND
. - We wszystkich innych przypadkach wynik jest podwójne.
Wartości null w grupie są ignorowane. Jeśli grupa jest pusta lub składa się tylko z wartości null, wynik ma wartość NULL.
Jeśli DISTINCT
określono średnią, jest obliczana po usunięciu duplikatów.
Ostrzeżenie
Jeśli w środowisku Databricks Runtime spark.sql.ansi.enabled to false
, przepływ zwraca NULL
wartość zamiast błędu.
Przykłady
> 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