Сумма 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 лучших результатовкаждый Драйвер с одним запросом?