본문 바로가기
오라클 게시판/오라클 함수

[오라클 함수] ITERATION_NUMBER 함수

by 기서무나구물 2018. 11. 24.

포스팅 목차

    o ITERATION_NUMBER

     


    문법

    iteration_number::=

     


    목적 

    이 함수는 모델 규칙에 따라 완료된 반복을 표시하는 정수를 반환한다.

    이 함수는 SELECT 문장의 model_clause에서 사용되는 함수이며, model_rules_clause에 ITERATE(number)가  지정되어 있는 경우에 사용할 수 있다.  ITERATION_NUMBER 함수는 처음 반복에서는 0을 반환하고, 이후 반복에서 ITERATION_NUMBER 함수는 iteration_number +1을 더한 정수를 반환한다.


    예제

    다음 예제는 1998년과 1999년에 대한 마우스 패트의 판매액을 각각 2001년과 2002년의 판매액에 할당한다.

    Oracle Program
    SELECT country, prod, year, s
    FROM sales_view
    MODEL PARTITION BY (country)
          DIMENSION BY (prod, year)
          MEASURES (sale s)
          IGNORE NAV
          UNIQUE DIMENSION
          RULES UPSERT SEQUENTIAL ORDER ITERATE(2)
            (
              s['Mouse Pad', 2001 + ITERATION_NUMBER] =
              s['Mouse Pad', 1998 + ITERATION_NUMBER]
            )
      ORDER BY country, prod, year;

     

    Results
    COUNTRY       PROD                                         YEAR           S
    ----------    -----------------------------------      --------   ---------
    France        Mouse Pad                                    1998     2509.42
    France        Mouse Pad                                    1999     3678.69
    France        Mouse Pad                                    2000     3000.72
    France        Mouse Pad                                    2001     2509.42
    France        Mouse Pad                                    2002     3678.69
    France        Standard Mouse                               1998     2390.83
    France        Standard Mouse                               1999     2280.45
    France        Standard Mouse                               2000     1274.31
    France        Standard Mouse                               2001     2164.54
    Germany       Mouse Pad                                    1998     5827.87
    Germany       Mouse Pad                                    1999     8346.44
    Germany       Mouse Pad                                    2000     7375.46
    Germany       Mouse Pad                                    2001     5827.87
    Germany       Mouse Pad                                    2002     8346.44
    Germany       Standard Mouse                               1998     7116.11
    Germany       Standard Mouse                               1999     6263.14
    Germany       Standard Mouse                               2000     2637.31
    Germany       Standard Mouse                               2001     6456.13
    
    18 rows selected.

    이전 예제는 sales_view 뷰가 필요하다.  "Interrow Calculations: Examples"  참조.

     

      --------------------------------------------  

    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

     

    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크
    반응형

    댓글