Я делаю пару упражнений, готовясь к экзаменам, и в одном я наткнулся на проблему, касающуюся SQL. У меня есть база данных с информацией о гонщиках, гонках и результатах Формулы 1.
- В таблице «драйверы» есть столбцы driver_id, last_name, first_name, country.
- Гонки table: race_id, season, grand_prix.
- Таблица результатов: driver_id, points, race_id.
Я пытаюсь выбрать имена и фамилии победителей чемпионата 2000, 2006 годов, 2012 г., а также сумма очков за годы, в которых они выиграли. Я выполнил следующий запрос, который дает мне сумму баллов для каждого водителя за каждый год, но я не знаю, как получить только лучшие за каждый год.
SELECT season, first_name, last_name, SUM(points)
FROM (drivers JOIN results ON drivers.driver_id = results.driver_id)
JOIN races ON races.race_id = results.race_id
WHERE season IN(2000, 2006, 2012)
GROUP BY season, first_name, last_name;