달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2013. 9. 27. 16:42

Oracle LAG 사용 방법 I.lib()/I.lib(Oracle)2013. 9. 27. 16:42

.. .. ..

요약 :

 

LAG(컬럼1) OVER (ORDER BY 정렬컬럼1) 

 

     ===> 컬럼 1의 다음 Row 데이터

 

 

[출처] [Oracle] 오라클 LEAD, LAG|작성자 시어

 

전월대비 또는 전일대비 같은 Self Join 이나 Sum_Case 문을 사용하던것을

 

오라클 LAG 또는 LEAD 함수로 처리 한다.

 

이거쓰면 게시판의 이전 다음글을 좀 쉽게 구현할 수 있을까??

Lead 함수는 해당 파티션내의 바로 다음 Row 의 데이터를 참조할 수 있고

 

Lag 함수는 해당 파티션내의 바로 위의 Row 데이터를 참조할 수 있다.

 

 

SELECT

DAY

, MONEY

, ROUND( ( LAG(MONEY) OVER (ORDER BY DAY) - MONEY )/ MONEY *100 , 1) As BENEFIT_RATE
FROM

(
SELECT '20010901' As DAY, 1000 As MONEY FROM DUAL

UNION ALL
SELECT '20010902' As DAY, 990 As MONEY FROM DUAL

UNION ALL
SELECT '20010903' As DAY, 900 As MONEY FROM DUAL
);

결과는

DAY MONEY BENEFIT_RATE
20090901 1000
20090902 990 1
20090903 900 10

 

 

 

 

.
:
Posted by .07274.