lag funkcja okna analitycznego

Zwraca wartość z expr poprzedniego wiersza w partycji.

Składnia

lag( expr [, offset [, default] ] )

Argumenty

  • expr: wyrażenie dowolnego typu.
  • offset: opcjonalny literał INTEGER określający przesunięcie.
  • default: wyrażenie tego samego typu co expr wyrażenie .

Zwraca

Typ wyniku odpowiada expr .

Jeśli wartość jest dodatnia, wartość pochodzi z wiersza poprzedzającego bieżący wiersz, określonego przez offsetoffset klauzulę ORDER BY w klauzuli OVER. Przesunięcie 0 używa wartości s ’ bieżącego wiersza. Przesunięcie ujemne używa wartości z wiersza następującego po bieżącym wierszu. Jeśli nie określisz offset wartości domyślnej 1, zostanie to wiersz bezpośrednio po nim.

Jeśli nie ma wiersza przy określonym przesunięcie w partycji, określony default jest używany. Wartość default domyślna to NULL . Należy 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