'oracle 분석함수'에 해당되는 글 1건

  1. 2017.06.23 [Oracle] 앞,뒤 행의 값을 알아볼 수 있는 분석 함수 Lag와 Lead
Oracle2017. 6. 23. 15:18

오라클의 분석함수중에 Lag와 Lead에 대하여 정리해 보았다.

 

select lag(dates, 2) over (order by dates) pprevDate,
       lag(dates, 1) over (order by dates) prevDate,
       dates,
       lead(dates, 1) over (order by dates) nextDate, 
       lead(dates, 2) over (order by dates) nnextDate,
       '' space,
       lag(no, 2) over (order by dates) pprevNo,
       lag(no, 1) over (order by dates) prevNo,
       no, 
       lead(no, 1) over (order by dates) nextNo, 
       lead(no, 2) over (order by dates) nnextNo
  from (
        select no, to_char(sysdate+no,'YYYY-MM-DD') dates 
          from dual,
               (select level no from dual connect by level < 10)
       )

 

 

lag(column_name, n)

  : 현재 row 기준으로 n 개 이전 row 의 값의 column의 값을 표시한다.

 

  ex) lag(no, 2) over (order by dates)

     는 정렬순서는 dates를 기준으로 하여서 no 컬럼의 2번째 앞에 row의 값을 표시하게 하는 함수이다.

 

lead(column_name, n)

  :  현재 row 기준으로 n개 이후 row의 값의 column의 값을 표시한다.

 

  ex) lead(no, 2) over (order by dates)

     는 정렬순서는 dates를 기준으로 하여서 no 컬럼의 2번째 뒤의 row의 값을 표시하게 하는 함수이다.

Posted by kongzz