LEAD() 함수 덕분에 간단하게 다음 로우에 있는 데이터를 가져 올 수 있게 되었네요.
반대로 이전 로우의 데이터를 가져 올 때는 LAG() 라는 함수를 같은 방식으로 사용하면 됩니다.
아래는 오라클 사이트에서의 LEAD() 함수에 대한 설명 원문입니다.
Syntax

Description of the illustration lead.gif
See Also:
"Analytic Functions" for information on syntax, semantics, and restrictions, including valid forms ofvalue_expr
Purpose
LEAD
is an analytic function. It provides access to more than one row of a table at the same time without a self join. Given a series of rows returned from a query and a position of the cursor, LEAD
provides access to a row at a given physical offset beyond that position.
If you do not specify offset
, then its default is 1. The optional default
value is returned if the offset goes beyond the scope of the table. If you do not specify default
, then its default value is null.
You cannot nest analytic functions by using LEAD
or any other analytic function for value_expr
. However, you can use other built-in function expressions for value_expr
.
Examples
The following example provides, for each employee in the employees
table, the hire date of the employee hired just after:
SELECT last_name, hire_date,
LEAD(hire_date, 1) OVER (ORDER BY hire_date) AS "NextHired"
FROM employees WHERE department_id = 30
ORDER BY last_name, hire_date, "NextHired";
LAST_NAME HIRE_DATE NextHired
------------------------- --------- ---------
Baida 24-DEC-97 15-NOV-98
Colmenares 10-AUG-99
Himuro 15-NOV-98 10-AUG-99
Khoo 18-MAY-95 24-JUL-97
Raphaely 07-DEC-94 18-MAY-95
Tobias 24-JUL-97 24-DEC-97
출처 : http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/functions079.htm#i83834
'SQL > ORACLE' 카테고리의 다른 글
오라클에서 IF NOT EXISTS 구현 (3) | 2009.05.07 |
---|