티스토리 뷰

Skill/DB

oracle 연속된 번호 찾기

진열사랑 2022. 5. 20. 10:47

select CDNO, LAG(CDNO,1,'0') OVER(ORDER BY CDNO) CDNO_PREV

CDNO보다 1 작은 CDNO의 데이터를 함께 보기

출처 : https://gent.tistory.com/339

오라클에서 이전 행의 값을 찾거나 다음 행의  값을 찾기 위해서는 LAG, LEAD 함수를 사용하면 된다.

LAG(expr [,offset] [,default]) OVER([partition_by_clause] order_by_clause)
LEAD(expr [,offset] [,default]) OVER([partition_by_clause] order_by_clause)

LAG 함수 : 이전 행의 값을 리턴
LEAD 함수 : 다음 행의 값을 리턴

expr : 대상 컬럼명
offset : 값을 가져올 행의 위치 기본값은 1, 생략가능
default : 값이 없을 경우 기본값, 생략가능
partition_by_clause : 그룹 컬럼명, 생략가능
order_by_clause : 정렬 컬럼명, 필수

'Skill > DB' 카테고리의 다른 글

최종 데이터만 조회하기  (0) 2022.08.30
oracle for update  (0) 2022.08.17
oracle ROW_NUMBER() 예  (0) 2022.05.20
where절에 if문처럼 and조건 사용하기  (0) 2022.01.19
oracle lock 조회 및 해제  (0) 2022.01.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함