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 verwendet wird, wird jeder expr-Wert, der NULL ist, ignoriert. Der Standardwert lautet RESPECT NULLS.
  • OVER-Klausel: Die Klausel, die 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 über ORDER BY in der OVER-Klausel) folgt. Bei einem Offset von 0 wird der Wert der aktuellen Zeile verwendet. Bei einem negativen Offset wird der Wert aus einer Zeile nach der aktuellen Zeile verwendet. Wenn Sie offset nicht angeben, ist der Standardwert 1 (die unmittelbar folgende Zeile).

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