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

【오라클(Oracle) SQL 함수】 SUM 함수

by 기서무나구물 2021. 10. 21.

o SUM

 


문 법

 

sum::=

 


목 적

SUM함수는 그룹 또는 전체 데이터에 대한 수치형 인수 expr에 대한 값의 합을 반환한다. 집계 함수 또는 분석함수로 사용할 수 있다.

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

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

 


패키지 함수 비교 (Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table)

 


관련 함수

함수명 함수내용
AVG 지정된 칼럼에 대한 조건을 만족하는 데이터를 기준으로 Null을 제외한 평균값을 반환한다.
COUNT 쿼리에 의해 반환되는 관측치 행의 개수를 반환한다. 집계 함수 또는 분석함수로 이용할 수 있다.
MAX 지정한 인수를 기준으로 그룹 또는 전체 데이터에 대한 최댓값을 반환한다.
MIN 지정한 인수를 기준으로 그룹 또는 전체 데이터에 대한 인수의 최솟값을 반환한다.
MEDIAN
연속된 분산 모델을 가정한 역 분포 함수이다. 이 함수는 수치형 데이터 또는 일자(Date)에 대한 중앙값 또는 값의 정렬 후에 보간법을 사용하여 중앙값을 계산하여 반환한다.
STDDEV 수치형 인수 expr의 표본표준편차(sample standard deviation)를 반환한다.
SUM 그룹 또는 전체 데이터에 대한 수치형 인수 expr에 대한 값의 합을 반환한다.
VARIANCE expr의 분산을 반환한다. 집계 함수 또는 분석함수로 이용된다.

 


예 제

집계 함수 예제

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

Oracle Program
SELECT SUM(salary) "Total"
FROM   employees;

 

Results
     Total
----------
    691400

 


분석 함수 예제

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

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

 

Results
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

 


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

 

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

댓글