The Oracle LAG function is an analytic function through which one can access the preceding row, without making any self join. It is normally used to get the value of an attribute of the previous row. Until unspecified, LAG can access one offset row prior to the cursor's current position.
(If you need to retrieve a value from the next row, use LEAD instead of LAG.)
LAG(value_expression [,offset] [,default]) OVER ([query_partition_clause] order_by_clause)
The default value is returned in case the offset moves the cursor position beyond the scope of the result set. It is NULL by default.
SELECT EMPNO, ENAME, SALARY,
LAG(SALARY, 1, 0) OVER (ORDER BY SALARY) AS LAST_SAL,
Related Code Snippets:
- LAG - LAG provides access to more than one row of a table at the same time without a self-join. Gi...