PostgreSQL – SUM Function

SUM function is an aggregate function that allows you to get the sum of values.

Example:

Consider the employee table as shown below:

idfirst_namelast_namedepartmentsalary
101bryanwalkersales50,000
102alexcarpenteraccounts55,000
103samwhitesales60,000
104johnbarrysales54,000
105billwoodaccounts65,000
106roberthopkinssupport70,000
107davidleesupport72,000
108jacksearssupport65,000
109tomyoungsales55,000
employee

You can get the sum of all salaries as shown below:

SELECT SUM(salary) FROM employee;

sum
------
546,000

You can use SUM along with the group by clause. Example: To return sum of salaries per department, you can group by department as shown below:

SELECT department, SUM(salary) FROM employee GROUP BY department;

department  sum
----------  ---
sales       219,000
accounts    120,000
support     207,000

You can filter grouped results using HAVING clause. Example: Below query returns only the departments that are paying more than 200,000 to employees.

SELECT department, SUM(salary) FROM employee GROUP BY department HAVING SUM(salary)>200000;

department  sum
----------  ---
sales       219,000
support     207,000
See also  PostgreSQL - Get current user