lag
função window analítica
Aplica-se a: Databricks SQL Databricks Runtime
Devolve o valor de expr
de uma linha anterior dentro do partition.
Sintaxe
lag( expr [, offset [, default] ] ) [ IGNORE NULLS | RESPECT NULLS ] OVER clause
Argumentos
-
expr
: Uma expressão de qualquer tipo. -
offset
: Um literal opcional inteiro especificando o offset. -
default
: Uma expressão do mesmo tipo queexpr
. -
IGNORE NULLS
ouRESPECT NULLS
: QuandoIGNORE NULLS
é especificado, qualquerexpr
valor que é NULL é ignorado. A predefinição éRESPECT NULLS
. - Cláusula OVER: A cláusula que descreve a janela. Consulte: Window funções.
Devoluções
O tipo de resultado corresponde a expr
.
Se offset
for positivo, o valor origina-se da linha que precede a linha atual por offset
especificado o ORDER BY na cláusula OVER.
Um offset de 0 usa o valor da linha atual.
Um offset negativo utiliza o valor de uma linha que segue a linha atual.
Se você não especificar offset
, o padrão será 1, a linha imediatamente a seguir.
Se não houver nenhuma linha no offset especificado dentro do partition, o default
especificado será usado.
O default
padrão é NULL
.
Você deve fornecer uma cláusula ORDER BY.
Esta função é sinónimo de lead(expr, -offset, default)
.
Exemplos
> 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