PostgreSQL – MIN Function

MIN function is an aggregate function that allows you to get the minimum 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 minimum of all salaries as shown below:

SELECT MIN(salary) FROM employee;

sum
------
50,000

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

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

department  sum
----------  ---
sales       50,000
accounts    55,000
support     65,000

You can filter grouped results using HAVING clause. Example: Below query returns only the departments that are paying a minimum salary of less than 60,000.

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

department  sum
----------  ---
sales       50,000
accounts    55,000
See also  PostgreSQL - Extract date from timestamp