Сумма 5 лучших значений в MySQL
У меня есть таблица MySQL, где я храню результаты гоночного чемпионата, так что в каждой строке - среди других данных - позиция каждого гонщика в определенной гонке. Я хочу получить сумму 5 лучших мест определенного водителя (например, если бы лучшие позиции водителя были 1,2,2,4,5, я бы хотел, чтобы MySQL вернул 14). То, что я пытаюсь сделать, это:
SELECT driver, SUM(position)
FROM results
WHERE (race, season, position) IN
(SELECT race, season, position
FROM results
WHERE driver = "Vettel"
ORDER BY position ASC
LIMIT 5)
AND driver = "Vettel"
Конечно, поскольку (гонка, сезон, позиция) является основным ключом для таблицы «результатов». Теперь проблема в том, что я не могу заставить это работать, поскольку MySQL еще не поддерживает использование LIMIT во внутренних подзапросах. Как бы вы это сделали?
И для дополнительного кредита - вместо одного водителя, есть ли способ получить сумму из 5 лучших результатовкаждый водитель с одним запросом?