Как выбрать максимальные значения по группам?

Для выбора максимальных значений по группам в MySQL вы можете использовать комбинацию функций GROUP BY и MAX. Вот подробное объяснение этого процесса:

Предположим, у нас есть таблица "employees", которая содержит информацию о сотрудниках:

| id | name | department | salary |
|----|--------|------------|--------|
| 1 | John | HR | 3000 |
| 2 | Jane | HR | 3500 |
| 3 | Mike | IT | 4000 |
| 4 | Sarah | IT | 3800 |
| 5 | Steven | Sales | 5000 |
| 6 | Lisa | Sales | 4700 |

Теперь мы хотим выбрать максимальную зарплату для каждого отдела. Для этого мы можем использовать следующий SQL-запрос:

SELECT department, MAX(salary) AS max_salary
FROM employees
GROUP BY department;

Этот запрос состоит из нескольких частей:

- SELECT department - выбирает столбец "department" в качестве поля для группировки.
- MAX(salary) AS max_salary - использует функцию MAX, чтобы найти максимальное значение столбца "salary" в каждой группе, и назначает это значение псевдонимом "max_salary".
- FROM employees - указывает таблицу, из которой мы хотим выбрать данные.
- GROUP BY department - группирует данные по столбцу "department".

Результат выполнения этого запроса будет следующим:

| department | max_salary |
|------------|------------|
| HR | 3500 |
| IT | 4000 |
| Sales | 5000 |

В результате каждая группа (отдел) представлена по одной строке, где в столбце "department" указано название отдела, а в столбце "max_salary" - максимальное значение зарплаты в этом отделе.

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