SQL MAX() function
MAX() function
The aggregate function SQL MAX() is used to find the maximum value or highest value of a certain column or expression. This function is useful to determine the largest of all selected values of a column.
Syntax:
MAX ([ALL | DISTINCT] expression )
DB2 and Oracle Syntax:
MAX ([ALL | DISTINCT] expression ) OVER (window_clause)
Parameters:
Name | Description |
---|---|
ALL | Applies to all values. |
DISTINCT | Consider each unique value. DISTINCT is not meaningful with MAX function. |
expression | Expression made up of a single constant, variable, scalar function, or column name or any combination of arithmetic, bitwise, and string operators. MAX can be used with numeric, character, and datetime columns, but not with bit columns. Aggregate functions and subqueries are not permitted. |
DBMS Support: COUNT() function
DBMS | Command |
MySQL | Supported |
PostgreSQL | Supported |
SQL Server | Supported |
Oracle | Supported |
Syntax diagram - MAX() function
Example:
To get maximum 'ord_amout' from the 'orders' table, the following SQL statement can be used :
Sample table: orders
SELECT MAX(ord_amount) -- Selects the maximum value of the 'ord_amount' column
FROM orders; -- Specifies the 'orders' table as the source of data
Explanation:
- SELECT MAX(ord_amount): This is the main part of the SQL query. It uses the MAX() function to calculate the maximum value of the 'ord_amount' column in the 'orders' table. The result will be a single value representing the maximum value found in the 'ord_amount' column.
- FROM orders: This specifies the source of the data for the query, which is the 'orders' table. The FROM keyword is used to indicate the table from which the data will be selected. In this case, it selects data from the 'orders' table.
Relational Algebra Expression:
Relational Algebra Tree:
Output:
MAX(ORD_AMOUNT) --------------- 4500
Pictorial Presentation:
SQL MAX() with addition of two columns
To get the maximum value of (opening_amt+receive_amt) from the customer table, the following SQL statement can be used :
Sample table: customer
SELECT MAX(opening_amt + receive_amt) -- Selects the maximum value of the sum of 'opening_amt' and 'receive_amt'
FROM customer; -- Specifies the 'customer' table as the source of data
Explanation:
- SELECT MAX(opening_amt + receive_amt): This is the main part of the SQL query. It calculates the sum of the 'opening_amt' and 'receive_amt' columns for each row in the 'customer' table and then selects the maximum value among these sums. The MAX() function is used to find the maximum value.
- FROM customer: This specifies the source of the data for the query, which is the 'customer' table. The FROM keyword is used to indicate the table from which the data will be selected. In this case, it selects data from the 'customer' table.
Relational Algebra Expression:
Relational Algebra Tree:
Output:
MAX(OPENING_AMT+RECEIVE_AMT) ---------------------------- 19000
Note: Outputs of the said SQL statement shown here is taken by using Oracle Database 10g Express Edition
Here is a slide presentation of all aggregate functions.
Check out our 1000+ SQL Exercises with solution and explanation to improve your skills.
Previous: Avg with round, group by
Next: Max with Group by, Order by
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics