Min and Max Function

Last modified on April 25th, 2020 by DigitalIndiaInfo Team.


MIN, MAX Functions

SQL MIN() & MAX() functions are used to find the lowest value and largest value of a column respectively.

MIN(column_name): It returns the lowest value of the column.
MAX(column_name): It returns the largest value of the column.

MIN() Function Syntax

SELECT MIN(column_name)
FROM table_name
WHERE condition;

MAX() Function Syntax

SELECT MAX(column_name)
FROM table_name
WHERE condition;

SQL MIN() and MAX() on specific column

Table: Orders

ORDER_NO   ORDER_DATE    CUSTOMER_ID    AMOUNT     PAID
--------   ----------    -----------    ------     ------
100123     10-NOV-18      70010          5000       2000
100223     15-AUG-18      70099          7000       4000
100544     17-JUL-18      70013          4000       1000
100700     20-JAN-18      70101          9000       1000
100928     24-DEC-18      70745         18000      11000

Find the minimum value order from the table Orders:

SELECT MIN(AMOUNT)
FROM Orders;

Output:

MIN(AMOUNT)
-----------
    4000

Find the maximum value order from the table Orders:

SELECT MAX(AMOUNT)
FROM Orders;

Output:

MAX(AMOUNT)
-----------
    18000

We can also use Alias while getting the minimum and maximum value from the table. For example: Lets rewrite the above SQL statement:

SELECT MAX(AMOUNT) AS LargestOrder
FROM Orders;

Output:

LargestOrder
-----------
    18000

SQL MIN() and MAX() with addition & subtraction of two columns

Table: Orders

ORDER_NO   ORDER_DATE    CUSTOMER_ID    AMOUNT     PAID
--------   ----------    -----------    ------     ------
100123     10-NOV-18      70010          5000       2000
100223     15-AUG-18      70099          7000       4000
100544     17-JUL-18      70013          4000       1000
100700     20-JAN-18      70101          9000       1000
100928     24-DEC-18      70745         18000      11000

Find the lowest value of (AMOUNT-PAID) from the table “Orders”:

SELECT MIN (AMOUNT - PAID) AS MIN_DUE
FROM Orders;

Output:

MIN_DUE
--------
3000

Find the largest value of (AMOUNT-PAID) from the table “Orders”:

SELECT MAX (AMOUNT - PAID) AS MAX_DUE
FROM Orders;

Output:

MAX_DUE
--------
8000

SQL SELECT MIN() and MAX() on date value

Table: Orders

ORDER_NO   ORDER_DATE    CUSTOMER_ID    AMOUNT     PAID
--------   ----------    -----------    ------     ------
100123     10-NOV-18      70010          5000       2000
100223     15-AUG-18      70099          7000       4000
100544     17-JUL-18      70013          4000       1000
100700     20-JAN-18      70101          9000       1000
100928     24-DEC-18      70745         18000      11000

Find oldest order date:

SELECT MIN (ORDER_DATE) AS "Oldest Order Date" 
FROM orders;

Output:

Oldest Order Date
-----------------
20-JAN-18

Find latest order date:

SELECT MAX (ORDER_DATE) AS "Latest Order Date" 
FROM orders;

Output:

Latest Order Date
-----------------
24-DEC-18


References :

  • www.tutorial.digitalindiainfo.com