top of page

Função LAG SQL SERVER

Atualizado: 23 de set.


A função LAG pode ser usada em consultas onde você deseja calcular diferenças entre valores em linhas consecutivas.


Neste exemplo eu preciso pegar o resultado do mês anterior, com isso, criei uma coluna de índice


ROW_NUMBER() OVER (ORDER BY ANO, MES) AS INDICE, mas posso também referenciar outra ou outras colunas.


Na primeira linha de código assumi o número 5 como número inicial, visto que a minha consulta se inicia em janeiro de 2021 e o número do mês anterior, dezembro de 2020 não consta na consulta.


Mas no exemplo da segunda linha, não inseri nenhum valor, tanto que o retorno é null.


Perceba que a coluna contagem_anterior retorna o número do mês anterior que esta na coluna contagem.



COALESCE(LAG(CONTAGEM) OVER (ORDER BY ANO, MES), 5) AS CONTAGEM_ANTERIOR,


LAG(CONTAGEM) OVER (ORDER BY ANO, MES) AS CONTAGEM_ANTERIOR1,



bottom of page