lag funkcja okna analitycznego

Dotyczy:sprawdź oznaczone jako tak Zaznaczone pole wyboru SQL usługi Databricks oznaczone jako tak 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 co expr.
  • IGNORE NULLS lub RESPECT NULLS: Po IGNORE NULLS określeniu dowolna 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 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