본문 바로가기

프로그램/oracle

lag, lead 함수

반응형
이전 row 참조, 이후 row 참조 하는 함수

mapping 테이블에 emp_id 와 create_date 가 쌓일 경우
이력 확인할 경우

select emp_id
    , lag(create_date, 1) over (partition by emp_id, create_date order by emp_id, create_date)
    , lead(create_date, 1) over (partition by emp_id, create_date order by emp_id, create_date)
from
    mapping
order by
    emp_id asc, create_date asc

lag : 함수에 위치한 column 의 offset 만큼 상위에 위치한 row 값 반환
lead : 함수에 위치한 column 의 offset 만큼 하위에 위치한 row 값 반환

lag(column name, offset, null=>default value)
lead(column name, offset, null=>default value)