# PostgreSQL - MIN Function

PostgreSQL MIN function is used to find out the record with minimum value among a record set.

To understand the MIN function, consider the table COMPANY having records as follows −

```testdb# select * from COMPANY;
id | name  | age | address   | salary
----+-------+-----+-----------+--------
1 | Paul  |  32 | California|  20000
2 | Allen |  25 | Texas     |  15000
3 | Teddy |  23 | Norway    |  20000
4 | Mark  |  25 | Rich-Mond |  65000
5 | David |  27 | Texas     |  85000
6 | Kim   |  22 | South-Hall|  45000
7 | James |  24 | Houston   |  10000
(7 rows)
```

Now, based on the above table, suppose you want to fetch minimum value of salary, then you can do so by simply using the following command −

```testdb=# SELECT MIN(salary) FROM company;
```

The above given PostgreSQL statement will produce the following result −

```  min
-------
10000
(1 row)
```

You can find all the records with the minimum value for each name using the GROUP BY clause as follows −

```testdb=# SELECT id, name, MIN(salary) FROM company GROUP BY id, name;
```

The above given PostgreSQL statement will produce the following result −

``` id | name  |  min
----+-------+-------
4 | Mark  | 65000
7 | James | 10000
6 | Kim   | 45000
3 | Teddy | 20000
2 | Allen | 15000
5 | David | 85000
1 | Paul  | 20000
(7 rows)
```

You can use the MIN Function along with the MAX function to find out the minimum value as well. Try out the following example −

```testdb=# SELECT MIN(salary), MAX(salary) max FROM company;
```

The above given PostgreSQL statement will produce the following result −

```  min  |  max
-------+-------
10000 | 85000
(1 row)
```

postgresql_useful_functions.htm