Dela via


lag analytisk fönsterfunktion

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

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

Syntax

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

Argumenter

  • 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 har angetts ignoreras alla expr värden NULL . Standardvärdet är RESPECT NULLS.
  • OVER-sats: Satsen som beskriver fönsterningen. Se: Windows-funktioner.

Återlämning

Resultattypen matchar expr.

Om offset är positivt kommer värdet från raden som föregår den aktuella raden med offset som anges av 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 raden som kommer efter den aktuella raden. Om du inte anger offset standardvärdet till 1, den omedelbart föregående raden.

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