LAG no Oracle PL/SQL

[ad#texto]

O LAG é uma função analítica do PL/SQL Oracle e tem a finalidade de retornar o registro anterior da tabela. Veja a sintaxe:

lag ( expression [, offset [, DEFAULT] ] )
OVER ( [ query_partition_clause ] order_by_clause )

Veja um exemplo:

SELECT ename,hiredate,sal,
LAG(sal, 1, 0)
OVER (ORDER BY hiredate) AS PrevSal
FROM emp
WHERE job = 'CLERK';
 
Ename  Hired               SAL      PREVSAL
 
--------  --------------- -------- ------------
 
SMITH      17-DEC-80       800       0
 
JAMES      03-DEC-81       950       800
 
MILLER     23-JAN-82       1300      950
 
ADAMS      12-JAN-83       1100      1300

O exemplo é bem simples e fácil de ser entendido, nele exibimos o salário (coluna SAL) e também exibimos o salário anterior (coluna PREVSAL).

Petter Rafael
Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 325 outros assinantes

Busca

julho 2020
DSTQQSS
 1234
567891011
12131415161718
19202122232425
262728293031 

Categorias