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

【오라클(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 예제로 만나는 테이블 데이터 처리 방법 리스트 링크
    반응형

    댓글