Delen via


lag analytische vensterfunctie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Retourneert de waarde van expr uit een voorgaande rij binnen de partitie.

Syntaxis

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

Argumenten

  • expr: Een expressie van elk type.
  • offset: Een optionele INTEGER-letterlijke waarde die de verschuiving aangeeft.
  • default: Een expressie van hetzelfde type als expr.
  • IGNORE NULLS of RESPECT NULLS: Wanneer IGNORE NULLS is opgegeven, wordt elke expr waarde die NULL is genegeerd. De standaardwaarde is RESPECT NULLS.
  • OVER-component: de component die het venster beschrijft. Zie: Vensterfuncties.

Retouren

Het resultaattype komt overeen expr.

Als offset positief is, is de waarde afkomstig uit de rij die voorafgaat aan de volgende rij, zoals gespecificeerd door offset binnen de ORDER BY in de OVER-clausule. Bij een verschuiving van 0 wordt de waarde van de huidige rij gebruikt. Een negatieve verschuiving maakt gebruik van de waarde uit een rij na de huidige rij. Als u deze niet opgeeft offset , wordt deze standaard ingesteld op 1, de rij direct na de rij.

Als er binnen de partitie geen rij is op de aangegeven offset, wordt default gebruikt. De default standaardwaarde is NULL. U moet een ORDER BY clausule opgeven.

Deze functie is een synoniem voor lead(expr, -offset, default).

Voorbeelden

> 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