Tag Archives: SUM used with OVER

SUM Analytic Functions in Oracle SQL

SUM Analytic Functions in Oracle SQL

SUM function is used to find the sum of expression. You can also used in Analytic function.

SUM : aggregate functions are used to calculate the Sum of data.

Syntax:
SUM( expr) [ OVER (partition by | order by) ]

Example of SUM function
Calculate the total salary in employee table.

Select sum(salary) from employees

SUM(SALARY)
-----------
     688316

Calculate the total salary of each department with GROUP BY Clause.

select department_id,sum(salary) from employees
group by department_id order by 1;

DEPARTMENT_ID SUM(SALARY)
------------- -----------
           10        4400
           20       19000
           30       21800
           40        6500
           50      156400
           60       28800
           70       10000
           80      304500
           90       58000

Calculate department wise using analytic function OVER clause:

SELECT department_id,employee_id,
salary,
SUM(salary) OVER (PARTITION BY department_id) AS Total_salary_depart
FROM employees;

DEPARTMENT_ID EMPLOYEE_ID     SALARY TOTAL_SALARY_DEPART
------------- ----------- ---------- -------------------
           10         200       4400                4400
           20         201      13000               19000
           20         202       6000               19000
           30         114      11000               21800
           30         115          0               21800
           30         116       2900               21800
           30         117       2800               21800
           30         118       2600               21800
           30         119       2500               21800