SQL Min Function

The SQL MIN Function is an Aggregate Function used to find the minimum value from the total records (or rows) selected by the SELECT Statement. The Function will ignore Null values. The syntax of the SQL Server MIN Function is

SELECT MIN([Column_Name])
FROM [Source]

For this Function, use the below data

Customer Table for Aggregate Functions

SQL MIN Example

The Min function in SQL Server returns the Minimum value from the total records present in the specified column. This MIN function query finds the Minimum yearly income present in the [Yearly Income] column from Customers table.

SELECT MIN([YearlyIncome]) AS [Minimum Income]    
  FROM [Customer]
Minimum Income

SQL MIN Group By Clause

Generally, we usually check minimum product price (Lowest pricing product) belongs to a particular category or color, etc. In these circumstances, we use GROUP BY Clause to group the products by color or category. Next, use this to find the Lowest pricing product present in each group. Let us see the SQL MIN Group By Example

SELECT [Occupation]
       ,MIN([YearlyIncome]) AS [Minimum Income]    
 FROM [Customer]
 GROUP BY [Occupation]

Above Server Query will find the Customers associated with the particular Department and SELECT the minimum income in each department


SQL MIN Having Clause

When we are grouping the data, In some instances, we usually check for the conditions against the aggregated data. In these conditions, we use the HAVING Clause along with Group By Statement. For instance, the following query groups the Customers by their Occupation. Then finds the Minimum yearly Income present in each group.

The last line of code verify whether the Minimum Yearly income of each Group is greater than 50000 or not. If this is true, the corresponding records will be displayed.

 SELECT [Occupation]
       ,MIN([YearlyIncome]) AS [Minimum Income]    
 FROM [Customer]
 GROUP BY [Occupation]
 HAVING MIN ([YearlyIncome]) > 50000 -- Last Line

SQL Min Subquery

While retrieving the data, in some instances, we check for the conditions against the aggregated data. In these situations, we have to use Subquery in Where Clause. This minimum function query returns the Customers whose [Yearly Income] is greater than the Minimum yearly income.

SELECT [FirstName]
  FROM [Customer]
  WHERE [YearlyIncome] > 
        (SELECT MIN([YearlyIncome]) FROM [Customer])

From the first example, see that Minimum Yearly Income is 50000. So above Aggregate Function query display all the customers whose yearly income is greater than 50000