lag
funkcja okna analitycznego
Dotyczy: wyboru SQL usługi Databricks Databricks Runtime
Zwraca wartość z expr
poprzedniego wiersza w partycji.
Składni
lag( expr [, offset [, default] ] ) [ IGNORE NULLS | RESPECT NULLS ] OVER clause
Argumenty
expr
: Wyrażenie dowolnego typu.offset
: opcjonalny literał INTEGER określający przesunięcie.default
: wyrażenie tego samego typu coexpr
.IGNORE NULLS
lubRESPECT NULLS
: PoIGNORE NULLS
określeniu dowolnaexpr
wartość NULL jest ignorowana. Wartość domyślna toRESPECT NULLS
.- Klauzula OVER: klauzula opisująca okno. Zobacz: Funkcje okien.
Zwraca
Typ wyniku jest zgodny z typem expr
.
Jeśli offset
jest dodatnia wartość pochodzi z wiersza poprzedzającego bieżący wiersz przez offset
określony ORDER BY w klauzuli OVER.
Przesunięcie wartości 0 używa wartości bieżącego wiersza.
Przesunięcie ujemne używa wartości z wiersza po bieżącym wierszu.
Jeśli nie określisz offset
wartości domyślnej na 1, natychmiast następujący wiersz.
Jeśli w partycji nie ma żadnego wiersza z określonym przesunięciem, zostanie użyta określona default
wartość .
Wartość domyślna default
to NULL
.
Musisz podać klauzulę ORDER BY.
Ta funkcja jest synonimem .lead(expr, -offset, default)
Przykłady
> 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