[SQL] Oracle LAG, LEAD 함수

hyunsooSong·2022년 5월 24일
0

SQL

목록 보기
10/14
post-thumbnail

🌉 Oracle LAG, LEAD 함수


1. LAG, LEAD 함수

✅ LAG/LEAD(컬럼명 {,offset} {,default}) OVER({PARTITION BY} ORDER BY)


🚨 offset, default, partition by는 생략가능, order by는 생략 불가!!

  • LAG 함수 : 이전 행 값 return
  • LEAD 함수 : 다음 행의 값 return
  • offset : 값을 가져올 행의 위치, default 1
  • default : 값이 없을 경우 지정 할 기본 값
  • PARTITION BY : 현재 행 기준으로 이후 행 전부
  • ORDER BY : 현재 행

현재 행을 기준으로 두 번째 이전 행의 고객번호와 다음 행의 고객 번호를 표시한다.
단, 두 번째 이전 행의 고객 번호가 없을 경우 기본값인 -1을 표시한다.

SELECT 고객번호,
     LAG(고객번호, 2, -1) OVER(ORDER BY 고객번호) AS NO1,
     LEAD(고객번호) OVER(ORDER BY 고객번호) AS NO2
FROM 월별매출
GROUP BY 고객번호;



+ 👀 틈새 지식

💡 SQL Server에서는 지원하지 않는 함수이다.

profile
🥕 개발 공부 중 🥕

0개의 댓글