funkce analytického okna lag

Platí pro:označeno jako ano Databricks SQL označeno jako ano Databricks Runtime

Vrátí hodnotu expr z předchozího řádku v rámci dané části.

Syntaxe

lag( expr [, offset [, default] ] ) [ IGNORE NULLS | RESPECT NULLS ] OVER clause

Argumenty

  • expr: Výraz libovolného typu.
  • offset: Volitelný INTEGER literál určující posun.
  • default: Výraz stejného typu jako expr.
  • IGNORE NULLS nebo RESPECT NULLS: Pokud IGNORE NULLS je zadána, je ignorována jakákoli expr hodnota NULL . Výchozí hodnota je RESPECT NULLS.
  • Klauzule OVER: Klauzule popisující datové okno. Viz: funkce okna .

Návraty

Typ výsledku odpovídá expr.

Pokud offset je kladná, pochází hodnota z řádku předcházejícího aktuálnímu řádku offset zadali ORDER BY v klauzuli OVER. Pokud je posun 0, používá se hodnota aktuálního řádku. Záporný posun používá hodnotu z řádku za aktuálním řádkem. Pokud ho nezadáte offset jako výchozí hodnotu 1, bezprostředně před řádkem.

Pokud v rámci partition není žádný řádek na zadaném posunu, použije se zadaný default. Výchozí hodnota default je NULL. Musíte zadat klauzuli ORDER BY.

Tato funkce je synonymem pro lead(expr, -offset, default).

Příklady

> SELECT a, b, lag(b) OVER (PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   NULL
 A1 1   1
 A1 2   1
 A2 3   NULL