오라클 Oracle 위 아래 값 LAG LEAD


쿼리를 하다보면 해당 Row의 위 또는 아래 Row에 있는 값을 가져오고 싶을 때가 있습니다. 

 

그럴때는 LAG (이전 Row 값), LEAD (다음 Row 값) 함수를 사용하시면 됩니다.

 

SELECT ROWNUM RN
FROM TABS
WHERE ROWNUM < 6;

 

 

 RN

 1

 1

 2

 2

 3

 3

 4

 4

 5

 5

 

이런 테이블이 있습니다.

 

이 테이블에 대해,

 

 

SELECT LAG(RN) OVER (ORDER BY RN) 앞수,
   RN 해당수,
   LEAD(RN) OVER (ORDER BY RN) 뒷수
 FROM (
    SELECT ROWNUM RN
    FROM TABS
    WHERE ROWNUM < 6)

 ORDER BY RN

 

 

쿼리를 사용하시면

 

 

 앞수

해당수

 뒷수

 1

 

 1

 2

 2

 1

 2

 3

 3

 2

 3

 4

 4

 3

 4

 5

 5

 4

 5

 

 

 

Posted by 쭈니루
TAG

댓글을 달아 주세요