티스토리 뷰

출처: https://dlfma1985.tistory.com/24 [육아]

 

1. LAG 함수

 

  - 이전 로우의 값을 리턴 하는 함수 입니다.

  - Syntax >  LAG(expr , offset , default) OVER( ORDER BY 필드)

  - expr 부분에는 필드 및 sum , count , avg , min , max 등이 올수 있습니다.

  - offset 부분에는 몇번째 이전의 로우값을 가져올지 지정 할 수 있습니다.

    (생략 가능하며, 생략시 1이 적용 됩니다.)

  - default 값은 이전로우의 값이 없을 경우 리턴되는 값입니다.

    (생략 가능하며, 생략시 null이 리턴됩니다.)

 

  - 예제) 

    

※ 위의 쿼리를 보면 SAWON 값으로 정렬 후 이전값(GRADE)을 가져오고 있습니다.

        LAG 함수의 인자값중 2번째 값을 2로 할 경우 2번째 이전값을 가져옵니다.

        LAG 함수의 인자값중 3번째 값을 0으로 할 경우 이전값이 없을 경우 0을 리턴합니다.

 

 

2. LEAD 함수

 

  - 이후 로우의 값을 리턴 하는 함수 입니다.

  - Syntax > LEAD(expr , offset , default) OVER( ORDER BY 필드)

  - expr 부분에는 필드 및 sum , count , avg , min , max 등이 올수 있습니다.

  - offset 부분에는 몇번째 이후의 로우값을 가져올지 지정 할 수 있습니다.

    (생략 가능하며, 생략시 1이 적용 됩니다.)

  - default 값은 이전로우의 값이 없을 경우 리턴되는 값입니다.

    (생략 가능하며, 생략시 null이 리턴됩니다.)

 

  - 예제)

    

    ※ 위의 쿼리를 보면 GRADE 값으로 정렬 후 이전값(GRADE)을 가져오고 있습니다.

        LEAD 함수의 인자값중 2번째 값을 2로 할 경우 2번째이후 값을 가져옵니다.

        LEAD 함수의 인자값중 3번째 값을 0으로 할 경우 이후값이 없을 경우 0을 리턴합니다.

 

 

3. LAG LEAD 공통점

  - LAG , LEAD 함수를 사용할 경우 ORDER BY 절에 있는 필드로 정렬을 수행하기 데이터가 ORDER BY 절에 있는 순으로 정렬이 되어 출력 됩니다.




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

oracle tablespace 조회  (0) 2020.09.23
oracle client 64bit 설치  (0) 2020.09.10
[tibero] Job에서 procedure 수행  (0) 2020.07.29
[oracle] sqldeveloper DATE형 날짜 설정  (0) 2020.07.13
[erwin] reverse engineer  (0) 2020.07.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함