sum aggregátum függvény

Egy csoport értékeiből kiszámított összeget adja vissza.

Szintaxis

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

Argumentumok

  • expr: Egy numerikus vagy intervallumot visszaértékelő kifejezés.
  • cond: Nem kötelező logikai kifejezés, amely az aggregációhoz használt sorokat szűri.

Válaszok

Ha expr a egész számtípus, a BIGINT. Ha expr az az eredmény , akkor a DECIMAL(p, s)DECIMAL(p + min(10, 31-p), s) következő: . Ha expr az intervallum, az eredménytípus megfelel a következőnek: expr .

Ellenkező esetben egy DOUBLE.

Ha DISTINCT meg van adva, csak az egyedi értékek vannak összeadva.

Ha az eredmény túlcsordul, az Databricks Runtime túlcsordulási hibát jelez.

Figyelmeztetés

Ha a spark.sql.ansi.enabled a BIGINT túlcsordulása, az nem okoz hibát, hanem burkolja az “” eredményt.

Példák

> SELECT sum(col) FROM VALUES (5), (10), (15) AS tab(col);
 30

> SELECT sum(col) FILTER(WHERE col <15)
    FROM VALUES (5), (10), (15) AS tab(col);
 15

> SELECT sum(DISTINCT col) FROM VALUES (5), (10), (10), (15) AS tab(col);
 30

> SELECT sum(col) FROM VALUES (NULL), (10), (15) AS tab(col);
 25

> SELECT sum(col) FROM VALUES (NULL), (NULL) AS tab(col);
 NULL