[Dica] Funções que retornam valores de outras linhas

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Seg, 02 Jun 2008 12:01 pm

LEAD

- Retorna o valor das próximas linhas de acordo com o parâmetro especificado.

Código: Selecionar todos
SQL> select * from ricardo_tmp;

         A
----------
         1
         2
         3
         4
         5

SQL> SELECT a, lead(a,1) over (ORDER BY a) prox FROM ricardo_tmp;

         A       PROX
---------- ----------
         1          2
         2          3
         3          4
         4          5
         5

SQL> SELECT a, lead(a,2) over (ORDER BY a) prox FROM ricardo_tmp;

         A       PROX
---------- ----------
         1          3
         2          4
         3          5
         4
         5


LAG

- Função inversa da LEAD, retorna os valores anteriores

Código: Selecionar todos
SQL> select * from ricardo_tmp;

         A
----------
         1
         2
         3
         4
         5

SQL> SELECT a, lag(a,1) over (ORDER BY a) prox FROM ricardo_tmp;

         A       PROX
---------- ----------
         1
         2          1
         3          2
         4          3
         5          4

SQL> SELECT a, lag(a,2) over (ORDER BY a) prox FROM ricardo_tmp;

         A       PROX
---------- ----------
         1
         2
         3          1
         4          2
         5          3
ricardorauber
Localização: Canoas RS


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem

Voltar para SQL

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes