Функция MAX
Функция MAX возвращает максимальное значение поля среди найденных строк.
См. также функцию MIN, которая возвращает минимальное значение.
Синтаксис
Примеры
Все примеры будут по этой таблице workers, если не сказано иное:
| id айди |
name имя |
age возраст |
salary зарплата |
|---|---|---|---|
| 1 | Дима | 23 | 300 |
| 2 | Петя | 23 | 400 |
| 3 | Вася | 24 | 500 |
| 4 | Коля | 25 | 600 |
| 5 | Иван | 25 | 700 |
Пример
Давайте найдем максимальное значение зарплаты в таблице:
Результат выполнения SQL запроса:
| max максимальная зарплата |
|---|
| 700 |
Пример
Давайте найдем максимальное значение зарплаты среди тех записей, у которых id меньше или равен 4-м:
Результат выполнения SQL запроса:
| min максимальная зарплата |
|---|
| 600 |
Пример
Давайте найдем максимальное и минимальное значение зарплаты одновременно:
SQL функция MAX
В этом учебном материале вы узнаете, как использовать SQL функцию MAX с синтаксисом примерами.
Описание
SQL функция MAX используется для возврата максимального значения выражения в операторе SELECT.
Синтаксис
Синтаксис для функции MAX в SQL.
Или синтаксис для функции MAX при группировке результатов по одному или нескольким столбцам.
Параметры или аргумент
Пример — с одним выражение
Простейшим способом использования SQL функции MAX будет возвращение одного поля, которое вычисляет значение MAX.
Например, вы можете узнать максимальную зарплату всех сотрудников.
В этом примере SQL функции MAX мы выражению MAX(salary) указали псевдоним «Highest salary». В результате «Highest salary» будет отображаться как имя поля при возврате набора результатов.
Пример — использование SQL оператора GROUP BY
В некоторых случаях вам потребуется использовать SQL оператор GROUP BY с функцией SQL MAX.
Например, вы также можете использовать SQL функцию MAX, чтобы вернуть название каждого отдела и максимальную зарплату в отделе.
How to select a maximum value row in mysql table
Question 1 : What I made mistake here and why this MAX function is not return the relevant row information?
You need to read up on the group by clause.
MySQL is being a lot more permissive than it should, introducing confusion in the process. Basically, any column without an aggregate should be included in the group by clause. But MySQL syntactic sugar allows to «forget» columns. When you do, MySQL spits out an arbitrary value from the set that it’s grouping by. In your case, the first row in the set is bob , so it returns that.
Question 2: Which one is good to use, to increase performance MAX function or ORDER BY clause?
Your first statement (using max() without a group by ) is simply incorrect.
If you want one of the oldest users, order by age desc limit 1 is the correct way to proceed.
Функция SQL MAX()
Оператор SQL MAX() — функция возвращающая максимальное значение столбца таблицы.
Функция SQL MAX() имеет следующий синтаксис:
Примеры оператора SQL MAX: Имеется следующая таблица Universities :
| ID | UniversityName | Students | Faculties | Professores | Location | Site |
| 1 | Perm State National Research University | 12400 | 12 | 1229 | Perm | psu.ru |
| 2 | Saint Petersburg State University | 21300 | 24 | 13126 | Saint-Petersburg | spbu.ru |
| 3 | Novosibirsk State University | 7200 | 13 | 1527 | Novosibirsk | nsu.ru |
| 4 | Moscow State University | 35100 | 39 | 14358 | Moscow | msu.ru |
| 5 | Higher School of Economics | 20335 | 12 | 1615 | Moscow | hse.ru |
| 6 | Ural Federal University | 57000 | 19 | 5640 | Yekaterinburg | urfu.ru |
| 7 | National Research Nuclear University | 8600 | 10 | 936 | Moscow | mephi.ru |
Пример 1: Используя оператор SQL MAX найти максимальное значение колонки Students:
Пример 2: Используя оператор SQL MAX найти максимальное значение колонки Faculties, где расположение университета (Location) — Saint-Petersburg:
Пример 3: Используя оператор SQL MAX найти университет (UniversityName) с наибольшим числом преподавателей (Professores):