본문 바로가기

Database/Oracle

[Oracle] 오라클 이전값 가져오기 LAG 함수 사용법 & 예시

LAG 함수는 이전 ROW 의 값을 가져올 때 사용한다.

 

사용법은 다음과 같다.

LAG(expr, offset, default) OVER(PARTITION BYORDER BY 절)

 

- expr : 대상 컬럼명

- offset : 값을 가져올 ROW 위치로 기본값은 1 (생략가능)

- default : 값이 없을 경우 지정할 기본값 (생략가능)

- partition_by : 그룹핑할 컬럼명 (생략가능)

- order_by : 정렬할 컬럼명 (필수)

 

 

예시) 부서 테이블(DPT_INFO)에서 부서번호(DPT_NO) 별로 정렬하여 이전 부서번호를 출력하고 싶을 경우

1
2
SELECT DPT_NO
, LAG(DPT_NO, '없음') ORDER BY (DPT_NO) AS DPT_NO_PREV
  FROM DPT_INFO
ORDER BY DPT_NO
cs

 

(결과)

DPT_NO    DPT_NO_PREV

1001          없음

1002          1001

1003          1002

1004          1003

 

반응형