Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime
Vrátí střední hodnotu vypočítanou z hodnot skupiny. Tato funkce je synonymem pro agregační funkciavg.
Syntaxe
mean ( [ALL | DISTINCT] expr ) [FILTER ( WHERE cond ) ]
Tuto funkci lze také vyvolat jako funkci okna pomocí klauzule OVER.
Argumenty
-
expr: Výraz, který se vyhodnotí jako číselný. -
cond: Volitelný logický výraz filtrující řádky použité pro agregaci.
Návraty
Typ výsledku se vypočítá jako argumenty:
-
DECIMAL(p, s): Typ výsledku je aDECIMAL(p + 4, s + 4). Pokud dosáhnete maximální přesnosti funkce DECIMAL, je zvýšení měřítka omezené, aby nedošlo ke ztrátě významných číslic. - year-month interval: Výsledek je .
INTERVAL YEAR TO MONTH - denní časový interval: Výsledek je .
INTERVAL DAY TO SECOND - Ve všech ostatních případech je výsledek
DOUBLE.
Hodnoty Null v rámci skupiny se ignorují. Pokud je skupina prázdná nebo se skládá pouze z hodnot null, výsledek je NULL.
Pokud DISTINCT je zadán průměr se vypočítá po odebrání duplicit.
Upozorňující
Pokud je ve službě Databricks Runtime spark.sql.ansi.enabledfalse, vrátí NULL se místo chyby přetečení.
Běžné chybové podmínky
Příklady
> 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
> SELECT mean(c1) FROM VALUES(5e307::DOUBLE), (5e307::DOUBLE) AS tab(c1);
Error: ARITHMETIC_OVERFLOW