funkce analytického okna lag
Platí pro: Databricks SQL
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ý celočíselný literál určující offset. -
default
: Výraz stejného typu jakoexpr
. -
IGNORE NULLS
neboRESPECT NULLS
: PřiIGNORE NULLS
zadání se ignoruje jakákoliexpr
hodnota, která má hodnotu NULL. Výchozí hodnota jeRESPECT NULLS
. - Klauzule OVER: Klauzule popisující 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.
Posun 0 používá hodnotu 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ě následující řádek.
Pokud v rámci oddílu 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