SQL Server функция MAX

В этом учебном пособии вы узнаете, как использовать функцию MAX в SQL Server (Transact-SQL) с синтаксисом и примерами.

Описание

В SQL Server (Transact-SQL) функция MAX возвращает максимальное значение выражения.

Синтаксис

Синтаксис функции MAX в SQL Server (Transact-SQL):

SELECT MAX(aggregate_expression)
FROM tables
[WHERE conditions];

ИЛИ синтаксис функции MAX при группировке результатов одного или нескольких столбцов:

SELECT expression1, expression2, ... expression_n,
MAX(aggregate_expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2, ... expression_n;

Параметры или аргументы

expression1, expression2, ... expression_n - выражения, которые не включены в функцию MAX и должны быть включены в операторе GROUP BY в конце SQL-предложения.
aggregate_expression - это столбец или выражение, из которого будет возвращено максимальное значение.
tables - таблицы, из которых вы хотите получить записи. Должна быть хотя бы одна таблица, перечисленная в операторе FROM.
WHERE conditions - необязательный. Это условия, которые должны выполняться для выбранных записей.

Применение

Функция MAX может использоваться в следующих версиях SQL Server (Transact-SQL):
SQL Server vNext, SQL Server 2016, SQL Server 2015, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005

Пример с одним полем

Рассмотрим некоторые примеры SQL Server функции MAX, чтобы понять, как использовать функцию MAX в SQL Server (Transact-SQL).
Например, вы можете узнать, как максимальное количество всех products.

В этом примере функции MAX мы выражению MAX (quantity) указали псевдоним 'Highest Quantity'. При возврате результирующего набора - "Highest Quantity" будет отображаться как имя поля.

Пример использования GROUP BY

В некоторых случаях вам потребуется использовать оператор GROUP BY с функцией MAX.
Например, вы также можете использовать функцию MAX, чтобы вернуть имя department и максимальную зарплату в department.

Поскольку вы указали один столбец department в операторе SELECT, который не включен в функцию MAX, вы должны использовать оператор GROUP BY. Поэтому поле department должно быть указано в операторе GROUP BY вашего SQL-предложения.