lag
funkcja okna analitycznego
Dotyczy: Databricks SQL Databricks Runtime
Zwraca wartość expr
z poprzedniego wiersza w partycji.
Składnia
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 każdaexpr
wartość null jest ignorowana. Wartość domyślna toRESPECT NULLS
.- Klauzula OVER: klauzula opisująca okno. Zobacz: Funkcje okien.
Zwraca
Typ wyniku jest zgodny z expr
.
Jeśli offset
wartość jest dodatnia, 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 1, natychmiast następujący wiersz.
Jeśli w partycji nie ma żadnego wiersza z określonym przesunięciem, zostanie użyty określony default
wiersz.
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