Hi again,
vielen Dank für Deine Antwort. Dann lag ich mit meinem Problem ja gar nicht so falsch, dass das ziemlich "tricky" ist.
Idee: Das ist das "Endergebnis" (Summe):
SELECT SUM(einzelergebnis) AS gesamtergebnis
FROM table GROUP BY sportler_id
ORDER BY gesamtergebnis DESC
Nun ist ja der Inhalt der "table" eigentlich eine Teilmenge, sprich ein Subselect. "Hole alle Daten aus der table a, wobei nur diejenigen ergebnis-Datensätze genommen werden sollen, welche die gleiche Sportler_id haben, sortiert nach einzelergebnise und nur die ersten 3:
SELECT * FROM table a WHERE ergebnis_id=(SELECT b.einzelergebnis_id FROM table b WHERE b.sportler_id=a.sportler_id ORDER BY b.einzeleregbnise DESC LIMIT 0,3)`
Und das wiederum eingepackt in den ersten SUM-Query:
SELECT SUM(c.einzelergebnis) AS gesamtergebnis
FROM (SELECT * FROM table a WHERE ergebnis_id=(SELECT b.einzelergebnis_id FROM table b WHERE b.sportler_id=a.sportler_id ORDER BY b.einzeleregbnise DESC LIMIT 0,3)
)c GROUP BY c.sportler_id
ORDER BY gesamtergebnis DESC
Oder wäre sogar ein JOIN richtiger, mit dem ich jeweils die 3 ersten Datensätze an den "ersten Datensatz" anhänge und dann via GROUP die richtige Summe ziehen kann?
Ist sowas denkbar?
Beste Dank Fabienne