LAG()와 LEAD()
- LAG()와 LEAD()를 사용하여 바로 전의 행의 데이터와 바로 다음 행의 데이터를 출력할 수 있습니다.
LAG()와 LEAD() 문법
SELECT LAG(컬럼, 1) OVER (ORDER BY 컬럼),
LEAD(컬럼, 1) OVER (ORDER BY 컬럼)
FROM 테이블;
- LAG()와 LEAD() 둘 다 문법상 첫 번째 괄호 안에 옵션에는 이전 혹은 다음 행으로 출력하고 싶은 데이터의 컬럼과, 숫자를 써줍니다. 숫자의 크기만큼 이전 행 혹은 다음행이 출력되며, 1을 적으면 바로 전, 다음 행이 출력되고, 2를 적으면 전 전행 혹은 다음다음 행이 출력됩니다. 그 후 OVER와 함께 ORDER BY로 데이터를 정렬시켜 줍니다.
LAG()와 LEAD() 테스트(https://livesql.oracle.com/)
1) LAG()

- LAG()를 사용하여 특정 날짜의 입양한 동물들의 데이터에 그 이전 날짜에 입양한 동물의 입양날짜를 추가하여 출력하였습니다. 옵션에 숫자 1을 집어넣었기에 하나의 데이터씩 건너뛰어 출력되었습니다.
2) LEAD()

- LEAD()를 사용하여 특정 날짜의 입양한 동물들의 데이터에 그 다음 날짜에 입양한 동물의 입양 날짜를 추가하여 출력하였습니다. 옵션에 숫자 2를 집어넣었기에 두 개의 데이터씩 건너뛰어 출력되었습니다.
'DATABASE > ORACLE 기본' 카테고리의 다른 글
[Oracle] 오라클 가로 데이터를 세로로 출력하는 방법 UNPIVOT() (0) | 2022.07.11 |
---|---|
[Oracle] 오라클 세로 데이터를 가로로 출력하는 방법 PIVOT() (0) | 2022.07.04 |
[Oracle] 오라클 그룹 데이터 가로로 출력해주는 함수 LISTAGG() (0) | 2022.06.27 |
[Oracle] 오라클 비율 출력 함수 CUME_DIST() (0) | 2022.06.23 |
[Oracle] 오라클 등급 출력 함수 NTILE() (0) | 2022.06.22 |