Compartilhar via


Função de janela analítica lag

Aplica-se a: marca de seleção positiva SQL do Databricks marca de seleção positiva Runtime do Databricks

Retorna o valor de expr de uma linha anterior dentro da partição.

Sintaxe

lag( expr [, offset [, default] ] ) [ IGNORE NULLS | RESPECT NULLS ] OVER clause

Argumentos

  • expr: uma expressão de qualquer tipo.
  • offset: um literal de INTEGER opcional que especifica o deslocamento.
  • default: uma expressão do mesmo tipo que expr.
  • IGNORE NULLS ou RESPECT NULLS: quando IGNORE NULLS é especificado, qualquer valor expr que seja NULL é ignorado. O padrão é RESPECT NULLS.
  • Cláusula OVER: a cláusula que descreve a janela. Confira: Funções de janela.

Retornos

O tipo de resultado corresponde a expr.

Se offset for positivo, o valor será originado da linha que precede a linha atual pelo offset especificado em ORDER BY na cláusula OVER. Um deslocamento igual a 0 usa o valor da linha atual. Um deslocamento negativo usa o valor de uma linha após a linha atual. Se você não especificar offset, ele usará 1 como padrão, a linha logo a seguir.

Se não houver nenhuma linha no deslocamento especificado dentro da partição, o default especificado será usado. O padrão de default é NULL. É preciso fornecer uma cláusula ORDER BY.

Essa 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