Teilen über


lag-Analysefensterfunktion

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Gibt den Wert von expr aus einer vorangehenden Zeile innerhalb der Partition zurück.

Syntax

lag( expr [, offset [, default] ] ) [ IGNORE NULLS | RESPECT NULLS ] OVER clause

Argumente

  • expr: Ein Ausdruck beliebigen Typs
  • offset: Ein optionales INTEGER Literal, das den Offset angibt.
  • default: Ein Ausdruck desselben Typs wie expr.
  • IGNORE NULLS oder RESPECT NULLS: Wenn IGNORE NULLS angegeben, wird ein beliebiger expr Wert NULL ignoriert. Der Standardwert lautet RESPECT NULLS.
  • OVER-Klausel: Die Klausel, welche die Fenstererstellung beschreibt. Siehe Fensterfunktionen.

Gibt zurück

Der Ergebnistyp entspricht expr.

Wenn offset positiv ist, stammt der Wert aus der Zeile, die der aktuellen Zeile versetzt um offset (angegeben überORDER BY in der OVER-Klausel) folgt. Ein Offset von 0 verwendet den Wert der aktuellen Zeile. Bei einem negativen Offset wird der Wert aus einer Zeile nach der aktuellen Zeile verwendet. Wenn Sie die Standardeinstellung nicht auf 1 festlegen offset , wird die unmittelbar vorangehende Zeile angezeigt.

Wenn innerhalb der Partition keine Zeile am angegebenen Offset vorhanden ist, wird der angegebene default-Wert verwendet. Der Standardwert von default lautet NULL. Sie müssen eine ORDER BY-Klausel angeben.

Diese Funktion ist ein Synonym für lead(expr, -offset, default).

Beispiele

> 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