- Categorias:
Sintaxe e uso da função de janela (classificação)
LAG¶
Acessa dados em uma linha anterior no mesmo conjunto de resultados sem precisar unir a tabela a si mesma.
- Consulte também:
Sintaxe¶
Argumentos¶
exprA expressão a ser retornada com base no offset especificado.
offsetO número de linhas para trás a partir da linha atual da qual se obtém um valor. Por exemplo, um
offsetde 2 retorna o valorexprcom um intervalo de 2 linhas.Observe que a definição de um offset negativo tem o mesmo efeito que a utilização da função LEAD.
O padrão é 1.
defaultA expressão a retornar quando o offset sai dos limites da janela. Suporta qualquer expressão cujo tipo seja compatível com
expr.O padrão é NULL.
{ IGNORE | RESPECT } NULLSSe você deve ignorar ou respeitar os valores de NULL quando um
exprcontiver valores de NULL:IGNORE NULLSexclui qualquer linha cuja expressão seja avaliada como NULL quando as linhas de deslocamento são contadas.RESPECT NULLSinclui qualquer linha cuja expressão seja avaliada como NULL quando as linhas de deslocamento são contadas.
Padrão:
RESPECT NULLS
Notas de uso¶
A cláusula PARTITION BY divide o conjunto de resultados produzido pela cláusula FROM em partições às quais a função é aplicada. Para obter mais informações, consulte Sintaxe e uso da função de janela.
A cláusula ORDER BY ordena os dados dentro de cada partição.
Exemplos¶
Criar a tabela e carregar os dados:
Esta consulta mostra a diferença entre a receita deste ano e a receita do ano anterior:
Criar outra tabela e carregar os dados:
Esta consulta mostra como a cláusula IGNORE NULLS afeta a saída. Todas as linhas (exceto a primeira) contêm valores diferentes de NULL mesmo se a linha anterior contivesse NULL. Se a linha anterior continha NULL, então a linha atual usará o valor mais recente diferente de NULL.