lag
analytisk fönsterfunktion
Gäller för: Databricks SQL 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
Argument
-
expr
: Ett uttryck av valfri typ. -
offset
: En valfri INTEGER-literal som anger förskjutningen. -
default
: Ett uttryck av samma typ somexpr
. -
IGNORE NULLS
ellerRESPECT NULLS
: NärIGNORE NULLS
har angetts ignoreras allaexpr
värden som är NULL. Standardvärdet ärRESPECT NULLS
. - OVER-sats: Satsen som beskriver fönsterningen. Se: Windows-funktioner.
Returer
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 en rad som följer den aktuella raden.
Om du inte anger offset
standardvärdet 1 visas följande rad direkt.
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