Soma os 5 principais valores no MySQL
Eu tenho uma tabela MySQL onde eu armazeno os resultados de um campeonato de corrida, de modo que cada linha contém - entre outros dados - a posição de cada piloto em uma determinada corrida. Eu quero obter a soma das colocações do top 5 de um determinado driver (por exemplo, se as melhores posições do piloto forem 1,2,2,4,5, eu gostaria que o MySQL retornasse 14). O que estou tentando fazer é isto:
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"
Com (race, season, position) sendo uma chave primária para a tabela "results", é claro. Agora, o problema é que eu realmente não consigo fazer isso funcionar, pois o MySQL ainda não suporta o uso de LIMIT em subconsultas internas. Como você faria isso?
E para crédito extra - em vez de um único driver, existe uma maneira de obter a soma dos 5 melhores resultados decada driver com uma única consulta?