quarta-feira, 17 de março de 2010

Pegando dados da linha anterior

Em alguns casos específicos é necessário retornar em uma instrução sql os dados da linha corrente e alguma informação da linha anterior. Para isso, no Oracle, podemos utilizar a função lag:

Objetivo: Buscar as informações da coluna M e o valor da mesma coluna na linha anterior ordenando pelo campo ID:

Solução:
select M as "Valor Corrente", LAG(M,1) over (order by ID) "Valor Ant M" from TAB1


(Créditos Rômulo)

Um comentário: