lag functie voor analytische vensters

Van toepassing op:controleren met ja Databricks SQL-controle gemarkeerd als ja 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 letterlijke waarde voor GEHEEL GETAL 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 de vensters beschrijft. Zie: Vensterfuncties.

Retourneert

Het resultaattype komt overeen met expr.

Als offset positief is, is de waarde afkomstig van de rij die voorafgaat aan de huidige rij door offset de ORDER BY-component in de COMPONENT OVER op te geven. Bij een verschuiving van 0 wordt de waarde van de huidige rij gebruikt. Een negatieve verschuiving gebruikt de waarde van een rij na de huidige rij. Als u dit niet opgeeft offset , wordt de standaardwaarde ingesteld op 1, de direct volgende rij.

Als er geen rij is op de opgegeven offset binnen de partitie, wordt de opgegeven default gebruikt. De default standaardwaarde is NULL. U moet een ORDER BY-component 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