Функция MAX в SQL используется для поиска записи с максимальным значением среди набора записей.
Чтобы понять функцию MAX, рассмотрим таблицу EMPLOYEE_TBL, которая содержит следующие записи:
SQL> SELECT * FROM employee_tbl; +----+----------+------------+--------------------+ | id | name | work_date | daily_typing_book | +----+----------+------------+--------------------+ | 1 | Dima | 2017-02-01 | 250 | | 2 | Ruslan | 2017-03-02 | 220 | | 3 | AndreyEx | 2017-01-11 | 170 | | 3 | AndreyEx | 2017-02-02 | 100 | | 4 | Masha | 2017-03-12 | 220 | | 5 | Roma | 2017-06-23 | 300 | | 5 | Roma | 2017-03-12 | 350 | +----+----------+------------+--------------------+ 7 rows in set (0.00 sec)
Теперь предположим, что на основе приведенной выше таблице вы хотите показать максимальное значение daily_typing_book, то вы можете сделать это просто с помощью следующей команды:
SQL> SELECT MAX(daily_typing_book) -> FROM employee_tbl; +-------------------------+ | MAX(daily_typing_book) | +-------------------------+ | 350 | +-------------------------+ 1 row in set (0.00 sec)
Вы можете найти все записи с максимальным значением для каждого имени, используя предложение GROUP BY следующим образом:
SQL> SELECT id, name, MAX(daily_typing_book) -> FROM employee_tbl GROUP BY name; +----+----------+-------------------------+ | id | name | MAX(daily_typing_book) | +----+----------+-------------------------+ | 3 | AndreyEx | 170 | | 4 | Masha | 220 | | 1 | Dima | 250 | | 2 | Ruslan | 220 | | 5 | Roma | 350 | +----+----------+-------------------------+ 7 rows in set (0.00 sec)
Вы можете использовать функцию MIN наряду с функцией MAX, чтобы найти минимальное значение. Попробуйте следующий пример:
SQL> SELECT MIN(daily_typing_book) least, MAX(daily_typing_book) max -> FROM employee_tbl; +-------+------+ | least | max | +-------+------+ | 100 | 350 | +-------+------+ 1 row in set (0.01 sec)