메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

오라클 MODEL 함수

DB CAFE
Dbcafe (토론 | 기여)님의 2024년 9월 30일 (월) 23:14 판 (새 문서: == MODEL 함수 == <source lang=sql> -------------------------------------------------------------------------------- -- MODEL을 이용한 SUM(합계) 영역 추가 -------------------------------------------------------------------------------- SELECT COL_TERM , COL_SAL FROM (SELECT 1 NUM, '200701' TERM, 1000000 SALARY FROM DUAL UNION ALL SELECT 2 NUM, '200702' TERM, 2000000 SALARY FROM DUAL UNION ALL SELECT 3 NUM, '200703' TERM, 1500000 SALARY FROM DUAL...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

MODEL 함수

--------------------------------------------------------------------------------
-- MODEL을 이용한 SUM(합계) 영역 추가
--------------------------------------------------------------------------------
SELECT COL_TERM
     , COL_SAL
  FROM (SELECT 1 NUM, '200701' TERM, 1000000 SALARY FROM DUAL UNION ALL
        SELECT 2 NUM, '200702' TERM, 2000000 SALARY FROM DUAL UNION ALL
        SELECT 3 NUM, '200703' TERM, 1500000 SALARY FROM DUAL UNION ALL
        SELECT 4 NUM, '200704' TERM, 1900000 SALARY FROM DUAL UNION ALL
        SELECT 5 NUM, '200705' TERM, 2300000 SALARY FROM DUAL UNION ALL
        SELECT 6 NUM, '200706' TERM, 3000000 SALARY FROM DUAL          )
 MODEL
 DIMENSION BY (TERM AS COL_TERM)
 MEASURES ( SALARY AS COL_SAL )
 RULES (
         COL_SAL['분1'] = COL_SAL['200701'] + COL_SAL['200702'] + COL_SAL['200703']
       , COL_SAL['분기'] = COL_SAL['200704'] + COL_SAL['200705'] + COL_SAL['200706']
       , COL_SAL['평균' ] = AVG(COL_SAL) [ COL_TERM BETWEEN '200701' AND '200706' ]
       , COL_SAL['합계' ] = SUM(COL_SAL) [ COL_TERM BETWEEN '200701' AND '200706' ]
       )
 ORDER BY 1
;