Sdílet prostřednictvím


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 avg aggregate function.

Syntaxe

mean ( [ALL | DISTINCT] expr ) [FILTER ( WHERE cond ) ]

Tuto funkci lze také vyvolat jako funkci okna pomocí OVER klauzule.

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ýsledkem 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.enabled false, vrátí NULL se místo chyby přetečení.

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