lag
funzione finestra analitica
Si applica a: Databricks SQL
Databricks Runtime
Restituisce il valore di expr
da una riga precedente all'interno della partizione.
Sintassi
lag( expr [, offset [, default] ] ) [ IGNORE NULLS | RESPECT NULLS ] OVER clause
Argomenti
-
expr
: espressione di qualsiasi tipo. -
offset
: un valore letterale intero facoltativo che specifica l'offset. -
default
: espressione dello stesso tipo diexpr
. -
IGNORE NULLS
oRESPECT NULLS
: quandoIGNORE NULLS
viene specificato, qualsiasiexpr
valore NULL viene ignorato. Il valore predefinito èRESPECT NULLS
. - Clausola OVER: clausola che descrive la finestra. Vedere: funzioni finestra .
Valori restituiti
Il tipo di risultato corrisponde a expr
.
Se offset
è positivo, il valore proviene dalla riga che precede la riga corrente di offset
specificata dal ORDER BY nella clausola OVER.
Un offset pari a 0 utilizza il valore della riga corrente.
Un offset negativo utilizza il valore di una riga che segue la riga corrente.
Se non si specifica offset
il valore predefinito 1, la riga immediatamente seguente.
Se non è presente alcuna riga in corrispondenza dell'offset specificato all'interno della partizione, viene utilizzata la default
indicata.
Il default
valore predefinito è NULL
.
È necessario specificare una clausola ORDER BY.
Questa funzione è un sinonimo di lead(expr, -offset, default)
.
Esempi
> 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