This documentation is archived and is not being maintained.

MAX (Transact-SQL)

Returns the maximum value in the expression. May be followed by the OVER clause.

Topic link icon Transact-SQL Syntax Conventions

MAX ( [ ALL | DISTINCT ] expression )  


Applies the aggregate function to all values. ALL is the default.


Specifies that each unique value is considered. DISTINCT is not meaningful with MAX and is available for SQL-92 compatibility only.


Is a constant, column name, or function, and 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.

For more information, see Expressions (Transact-SQL).

Returns a value same as expression.

Distinct aggregates, for example AVG(DISTINCT column_name), COUNT(DISTINCT column_name), MAX(DISTINCT column_name), MIN(DISTINCT column_name), and SUM(DISTINCT column_name), are not supported when you use CUBE or ROLLUP. If they are used, Microsoft SQL Server 2005 Database Engine returns an error message and cancels the query.

MAX ignores any null values.

For character columns, MAX finds the highest value in the collating sequence.

The following example returns the highest (maximum) tax rate.

USE AdventureWorks;
FROM Sales.SalesTaxRate;

Here is the result set.


(1 row(s) affected)

Warning, null value eliminated from aggregate.