Вывести максимальный возраст для каждого имени

74. Вывести максимальный возраст для каждого имени

Условие задачи:
Дана таблица Person с полями:

  • name;

  • age.

Необходимо для каждого имени вывести максимальный возраст.

Код:

Person
-----------------
name
age

Спойлеры к решению

Подсказки
💡 Сгруппируй строки по name.
💡 Для поиска максимального возраста внутри каждой группы используй MAX(age).
💡 Поле name должно присутствовать в GROUP BY.

Решение
SELECT
    name,
    MAX(age) AS max_age
FROM Person
GROUP BY name;

GROUP BY name объединяет строки с одинаковыми именами, а:

MAX(age)

возвращает максимальный возраст внутри каждой группы.

Например, для данных:

name | age
-----+----
Ivan | 20
Ivan | 35
Petr | 25
Petr | 40

результат будет:

name | max_age
-----+--------
Ivan | 35
Petr | 40