mean agregační funkce

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano 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 a DECIMAL(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