LAG 함수는 이전 ROW 의 값을 가져올 때 사용한다.
사용법은 다음과 같다.
LAG(expr, offset, default) OVER(PARTITION BY 절 ORDER 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
반응형
'Database > Oracle' 카테고리의 다른 글
[Oracle] 오라클 문자열 합치기 CONCAT 함수 사용법 & 예시 (0) | 2020.03.05 |
---|---|
[Oracle] 오라클 DECODE 함수 사용법 & 예시 (0) | 2020.03.05 |