В этом учебном пособии вы узнаете, как использовать функцию MAX в SQL Server (Transact-SQL) с синтаксисом и примерами.
Описание
В SQL Server (Transact-SQL) функция MAX возвращает максимальное значение выражения.
Синтаксис
Синтаксис функции MAX в SQL Server (Transact-SQL):
FROM tables
[WHERE conditions];
ИЛИ синтаксис функции MAX при группировке результатов одного или нескольких столбцов:
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.
1 2 |
SELECT MAX(quantity) AS "Highest Quantity" FROM products; |
В этом примере функции MAX мы выражению MAX (quantity) указали псевдоним 'Highest Quantity'. При возврате результирующего набора - "Highest Quantity" будет отображаться как имя поля.
Пример использования GROUP BY
В некоторых случаях вам потребуется использовать оператор GROUP BY с функцией MAX.
Например, вы также можете использовать функцию MAX, чтобы вернуть имя department и максимальную зарплату в department.
1 2 3 |
SELECT department, MAX(salary) AS "Highest salary" FROM employees GROUP BY department; |
Поскольку вы указали один столбец department в операторе SELECT, который не включен в функцию MAX, вы должны использовать оператор GROUP BY. Поэтому поле department должно быть указано в операторе GROUP BY вашего SQL-предложения.