lag
functie voor analytische vensters
Van toepassing op: Databricks 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 alsexpr
.IGNORE NULLS
ofRESPECT NULLS
: wanneerIGNORE NULLS
is opgegeven, wordt elkeexpr
waarde die NULL is, genegeerd. De standaardwaarde isRESPECT 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