본문 바로가기

[오라클 레퍼런스 함수] SUM - 값의 합산 반환

by ㅇㅍㅍ 2023. 8. 23.
[오라클 레퍼런스 함수] SUM - 값의 합산 반환
728x90

 

 

 

SUM

 

구문

SUM([ DISTINCT | ALL ] expr)
   [ OVER (analytic_clause) ]

 

참고:

구문, 의미, 그리고 제한 사항에 대한 정보는 "Analytic Functions"에 대한 내용을 참조하세요.

 

목적

SUM 함수는 expr의 값들의 합을 반환합니다. 이 함수는 집계 함수로 사용하거나 분석 함수로 사용할 수 있습니다.

이 함수는 숫자 데이터 형식 또는 숫자 데이터 형식으로 암시적으로 변환할 수 있는 비숫자 데이터 형식을 인수로 사용합니다. 함수는 인수의 숫자 데이터 형식과 동일한 데이터 형식을 반환합니다.

 

참고:

암묵적 변환에 대한 자세한 내용은 표 2-8을 참조하십시오.

 

만약 DISTINCT를 지정한다면, 집계 함수에 대한 query_partition_clause만 지정할 수 있습니다. order_by_clausewindowing_clause는 허용되지 않습니다.

 

참고:

"Aggregate Functions" 및 expr의 유효한 형식에 대한 정보는 "About SQL Expressions"를 참조하십시오.

 

집계 예제

다음 예제는 샘플 hr.employees 테이블의 모든 급여 합계를 계산합니다:

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

 

분석 예제

다음 예제는 샘플 테이블 hr.employees의 각 매니저에 대해 해당 매니저에 속한 직원의 급여 중 현재 급여와 같거나 작은 급여의 누적 합계를 계산합니다. Raphaely와 Cambrault가 동일한 누적 합계를 가지는 것을 볼 수 있습니다. 이것은 Raphaely와 Cambrault가 동일한 급여를 받기 때문에 Oracle Database가 그들의 급여 값을 더하고 두 행에 동일한 누적 합계를 적용하기 때문입니다.

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

MANAGER_ID LAST_NAME                     SALARY     L_CSUM
---------- ------------------------- ---------- ----------
       100 Cambrault                      11000      68900
       100 De Haan                        17000     155400
       100 Errazuriz                      12000      80900
       100 Fripp                           8200      36400
       100 Hartstein                      13000      93900
       100 Kaufling                        7900      20200
       100 Kochhar                        17000     155400
       100 Mourgos                         5800       5800
       100 Partners                       13500     107400
       100 Raphaely                       11000      68900
       100 Russell                        14000     121400
. . .
       149 Hutton                          8800      39000
       149 Johnson                         6200       6200
       149 Livingston                      8400      21600
       149 Taylor                          8600      30200
       201 Fay                             6000       6000
       205 Gietz                           8300       8300
           King                           24000      24000

 


출처: 오라클 레퍼런스

원문 링크: Oracle SUM 함수 문서

 

반응형

댓글