[ 분석용 함수 ]    

 

☞ Analytic 함수 List  

         

 1) AVG* 함수
 2) CORR* CORR* 함수
 3) COUNT* 함수
 4) COVAR_SAMP 함수
 5) CUME_DIST 함수
 6) DENSE_RANK 함수
 7) FIRST 함수
 8) FIRST_VALUE 함수
 9) LAG 함수
 10) LAST_VALUE 함수
 11) LEAD 함수
 12) NTILE 함수
 13) RATIO_TO_REPORT 함수
 14) ROW_NUMBER 함수

 

 
 

☞ LAG 함수

 

♧ 정의 : self join하지 않고 하나의 테이블에서 동시에 한 행(row)이상을 접근하여 자료를 가져
          올 수 있다. 즉, n개의 Record를 조회할 때 현재 Record와 이전Record의 값을 한Record로
          보여줄 수 있다.
          - 반대로 하위 행을 찾는 함수는 LEAD 함수 이다.

【Version】 ORACLE 8.1.6


【형식】
LAG(value_expr [,offset] [,default] ) OVER
           (
PARTITION BY [partition_clause] ORDER BY [order_by_clause] )

        . value_expr       : 이전,이후 레코드의 찾고자하는 컬럼. 반드시 컬럼 한 개만 필요
        . order_by_clause  : 이전,이후레코드를 알기 위한 정렬
        . offset           : 1 - 이전 첫 번째 레코드를 찾아옴
                             2 - 이전 두 번째 레코드를 찾아옴
                             즉, 해당 offset 숫자만큼 이전 레코드를 찾는다. 반드시 양수임
        . default          : ??
        . partition_clause : Group by 와 같은 의미 

【예제】SQL>
SELECT name,salary,LAG(salary,1,0)  OVER (ORDER BY salary)
             FROM
employees;

【결과】 NAME           SALARY    LAG(SALARY,1,0)OVER(ORDERBYSALARY)
         ---------- ----------    ----------------------------------
         jijoe             220                                  0
         Joe               240                                220
         Cho               250                                240
         kim               250                                250  

 

 

'(DB) Oracle > 함수' 카테고리의 다른 글

Oracle - Datetime 함수 목록  (0) 2017.01.18
Oracle - 날짜형 실전예제  (0) 2017.01.18
Oracle - 기타 함수  (0) 2017.01.18
Oracle - 그룹 함수  (0) 2017.01.18
Oracle - 변환함수  (0) 2017.01.18
Posted by 농부지기
,