Udostępnij za pośrednictwem


lag funkcja okna analitycznego

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak 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 co expr.
  • IGNORE NULLS lub RESPECT NULLS: Po IGNORE NULLS określeniu każda expr wartość null jest ignorowana. Wartość domyślna to RESPECT 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