SQL Server MIN(): Get Minimum Value in a Column

In SQL Server, the MIN() function is an aggregate function that returns the minimum value in the column or expression.

MIN (expression)

Parameters

expression: It can be a constant, a table column, or function, and any combination of arithmetic, or string operators.

The MIN() function can be used with numeric, character, uniqueidentifier, or with datetime data.

Return Value

Returns the minimum value in the column/group of the same data type as column or expression.

Example 1:

the following query fetches the minimum Salary from the Employee table.

Example: MIN()
SELECT MIN(Salary) AS MinSal FROM Employee;

To check the above, fetch all rows from the Employee table order by Salary. As seen in the output, the lowest salary at 30,000.

Employee Records

MIN() with String Column

You can use MIN() function on character/string data also. In the following example, the MIN() is used on the LastName column of the Employee table. It returns the first value in the alphabetical order.

Example: MIN() with String Column
SELECT MIN(LastName) As Name FROM Employee;

MIN() with GROUP BY Clause

In the following example, the minimum salary in each department is returned by using the GROUP BY clause. Here, the GROUP BY clause groups the employees based on their department and then the minimum salary in each group is returned.

Example: MIN() with GROUP BY
SELECT DepartmentId, MIN (Salary) AS DeptMinSalary
        FROM Employee
        GROUP BY DepartmentId;

MIN() with HAVING Clause

MIN() function can be used in the HAVING clause as shown in the following example. Here the GROUP BY clause groups the employees according to their departments, gets the minimum salary of each department, and then the HAVING clause filters the result by returning only those departments having a minimum salary lesser than 35000.

Example: MIN() with HAVING
SELECT DepartmentId, MIN(Salary) AS DeptMinSal FROM Employee
        GROUP BY DepartmentID
        HAVING MIN (Salary) < 35000;

Get Maximum and Minimum Value

In the following example, the MIN() and MAX() functions are used on the Salary column of the Employee table. The minimum and maximum salary in the table is returned.

Example: MIN() and MAX()
SELECT MIN(Salary) AS MinSal, MAX(Salary) AS MaxSal FROM Employee;
Want to check how much you know SQL Server?