Skip Headers

오라클 10g 함수
10g Release 1 (10.1)
Go to Documentation Home
HOME
Go to Book List
ORA_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
ORA_10G
Go to Feedback page
MAIL

Go to previous page
Previous
Go to next page
Next

SUM

문법

MAIN

sum::=
Description of sum.gif follows

그림 설명


참 조 :

"Analytic Functions " for information on syntax, semantics, and restrictions

목적

MAIN

SUM함수는 expr의 값의 합을 반환한다. 집계함수 또는 분석함수로 사용할수 있다.

이 함수는 임의의 수치 데이터 형 또는 암묵적으로 수치 데이터 형으로 변환가능한 임의의 비수치 데이터형을 취힌다. 이 함수는 인수의 수치 데이터형과 같은 데이터형을 반환한다.

만약 DISTINCT를 지정했다면, analytic_clause query_partition_clause을 지정할수 있다. 그러나, order_by_clause  windowing_clause은 허용하지 않는다.

예제

MAIN


집계 예제

다음 예제는 HR.employees테이블에서 모든 급여의 합계를 계산한다.

SELECT SUM(salary) "Total"
     FROM employees;
 
     Total
----------
    691400

분석 예제

다음 예제는 HR.employees 테이블에서 같은 Manager에 대하여, 현재 급여 이하의 종업원의 급여의 누적 합계를 계산한다. 여기서 Raphaely와 Cambrault는 동일한 급여이기 때문에(논리적으로 같이 취급됨. 급여에 대하여 소트를 하여서 같은 것으로 취급됨),오라클 데이터 베이스는 그들의 급여를 동시에 추가하여, 양쪽 행에 같은 누적 합계를 적용한다.

SELECT manager_id, last_name, salary,
   SUM(salary) OVER (PARTITION BY manager_id ORDER BY salary
   RANGE UNBOUNDED PRECEDING) l_csum
   FROM employees;

MANAGER_ID LAST_NAME           SALARY     L_CSUM
---------- --------------- ---------- ----------
       100 Mourgos               5800       5800
       100 Vollman               6500      12300
       100 Kaufling              7900      20200
       100 Weiss                 8000      28200
       100 Fripp                 8200      36400
       100 Zlotkey              10500      46900
    100 Raphaely             11000      68900
    100 Cambrault            11000      68900
       100 Errazuriz            12000      80900
. . .
       149 Taylor                8600      30200
       149 Hutton                8800      39000
       149 Abel                 11000      50000
       201 Fay                   6000       6000
       205 Gietz                 8300       8300
           King                 24000      24000