lag analysfönsterfunktion

Gäller för:check markerad ja Databricks SQL-kontroll markerad ja Databricks Runtime

Returnerar värdet expr för från en föregående rad i partitionen.

Syntax

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

Argument

  • expr: Ett uttryck av valfri typ.
  • offset: En valfri INTEGER-literal som anger förskjutningen.
  • default: Ett uttryck av samma typ som expr.
  • IGNORE NULLS eller RESPECT NULLS: När IGNORE NULLS anges ignoreras alla expr värden som är NULL. Standardvärdet är RESPECT NULLS.
  • OVER-sats: Satsen som beskriver fönsterningen. Se: Fönsterfunktioner.

Returnerar

Resultattypen matchar expr.

Om offset är positivt kommer värdet från raden före den aktuella raden genom offset att ange ORDER BY i OVER-satsen. En förskjutning på 0 använder den aktuella radens värde. En negativ förskjutning använder värdet från en rad som följer den aktuella raden. Om du inte anger offset standardvärdet 1 visas omedelbart följande rad.

Om det inte finns någon rad vid den angivna förskjutningen i partitionen används den angivna default . Standardvärdet default är NULL. Du måste ange en ORDER BY-sats.

Den här funktionen är en synonym till lead(expr, -offset, default).

Exempel

> 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