Notice
반응형
Recent Posts
250x250
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- TSX
- 정처산기
- 이론
- 응용SW
- react
- 책추천
- js
- 이미지용량제한
- input
- SCIPRT
- txs
- SQL
- googleChart
- script
- Eclipse
- java
- 붙여넣기방지
- BREW
- CSS
- Oracle
- 병행프로세스와 상호배제
- createBro
- 이클립스
- npm
- IntelliJ
- html
- googleCharts
- php version
- node
- jsp
Archives
- Today
- Total
개발하자
[ORACLE] LAG(이전값), LEAD(다음값) 함수 본문
728x90
안녕하세요
블로그나 카페 등 게시글 하단에 이전글, 다음글을 쉽게 볼 수 있도록 표시가 되어있는 경우를 많이 봤는데요
LAG()와 LEAD() 함수를 사용하면 쉽게 구현할 수 있습니다.
LAG() 함수는 이전 행의 값을 리턴하고, LEAD()함수는 다음 행의 값을 리턴합니다.
기본 사용법
-- 이전값
LAG(대상컬럼 ,가져올행위치 ,NULL일때 기본값) OVER (그룹컬럼명 정렬컬럼명)
-- 다음값
LEAD(대상컬럼 ,가져올행위치 ,NULL일때 기본값) OVER (그룹컬럼명 정렬컬럼명)
대상컬럼, 정령컬럼명은 필수이며,
가져올 행 위치, NULL일때 기본값, 그룹컬럼명은 생략가능합니다.
LAG() 함수
이전 값 가져오기
SELECT OPEN_NO, PROGRAM_NAME,
LAG(OPEN_NO) OVER (ORDER BY OPEN_NO DESC) AS PREV_OPEN_NO,
LAG(PROGRAM_NAME) OVER (ORDER BY OPEN_NO DESC) AS PREV_PROGRAM_NAME
FROM PROGRAM_TABLE
ORDER BY OPEN_NO DESC;
현재 행을 중심으로 OPEN_NO값과 PROGRAM_NAME의 이전 값을 가져옵니다.
LEAD() 함수
다음 값 가져오기
SELECT OPEN_NO, PROGRAM_NAME,
LEAD(OPEN_NO) OVER (ORDER BY OPEN_NO DESC) AS NEXT_OPEN_NO,
LEAD(PROGRAM_NAME) OVER (ORDER BY OPEN_NO DESC) AS NEXT_PROGRAM_NAME
FROM PROGRAM_TABLE
ORDER BY OPEN_NO DESC;
현재 행을 중심으로 OPEN_NO값과 PROGRAM_NAME의 다음 값을 가져옵니다.
LAG() + LEAD()
이전 값, 다음 값 가져오기
SELECT OPEN_NO, PROGRAM_NAME,
LAG(OPEN_NO) OVER (ORDER BY OPEN_NO DESC) AS PREV_OPEN_NO,
LAG(PROGRAM_NAME) OVER (ORDER BY OPEN_NO DESC) AS PREV_PROGRAM_NAME,
LEAD(OPEN_NO) OVER (ORDER BY OPEN_NO DESC) AS NEXT_OPEN_NO,
LEAD(PROGRAM_NAME) OVER (ORDER BY OPEN_NO DESC) AS NEXT_PROGRAM_NAME
FROM PROGRAM_TABLE
ORDER BY OPEN_NO DESC;
LAG()와 LEAD()는 함께 사용 가능합니다.
공부하면서 유용했던 부분 메모겸 공유하고자 끄적입니다.
고쳐야하는 부분있다면 댓글 남겨주시면 수정하겠습니다.
행복한 하루 보내세요 (❁´◡`❁)
728x90
반응형
'DATABASES > ORACLE︲TIBERO' 카테고리의 다른 글
[ORACLE] SQL 기초문법 정리 5편(COMMIT, ROLLBACK, SAVEPOINT) (0) | 2023.12.12 |
---|---|
[ORACLE] SQL 기초문법 정리 4편(INSERT, UPDATE, DELETE) (0) | 2023.12.12 |
[ORACLE] SQL 기초문법 정리 3편 (GRANT, REVORK) (2) | 2023.12.11 |
[ORACLE] SQL 기초문법 정리 2편 (CREATE, ALTER, DROP) (0) | 2023.12.11 |
[ORACLE] SQL 기초문법 정리 1편 (SELECT) (0) | 2023.12.11 |