yo,
das problem ist ein wenig komplizierter, weil wir das datum mitschleifen müssen.
SELECT h1.punkte, h1.zeitverbrauch, t.vorname, t.nachname, t.strasse, t.ort, t.email, h.datum
FROM teilnehmer t
INNER JOIN highscore h1 ON h1.spielerID = t.id
WHERE h1.id =
(SELECT MIN(h2.id)
FROM highscore h2
WHERE h2.spielerID = t.id
AND h2.eintragzeit BETWEEN '2007-01-01' AND '2007-01-31'
AND h2.punkte = (SELECT MAX(h3.punkte)
FROM highscore h3
WHERE h3.spielerID = t.id
AND h3.eintragzeit BETWEEN '2007-01-01' AND '2007-01-31'
)
AND h2.zeitverbrauch = (SELECT MIN(h3.zeitverbrauch)
FROM highscore h3
WHERE h3.spielerID = t.id
AND h3.eintragzeit BETWEEN '2007-01-01' AND '2007-01-31'
AND h3.punkte = (SELECT MAX(h4.punkte)
FROM highscore h4
WHERE h4.spielerID = t.id
AND h4.eintragzeit BETWEEN '2007-01-01' AND '2007-01-31'
)
)
)
ORDER BY high DESC, h1.zeitverbrauch
LIMIT 0, 100
ich kann die abfrage nicht testen, können als kleine tippfehler drinn sein. scheint auf den ersten blick ein wenig "oversized" zu sein. aber auf den ersten blick fällt mir nichts anderes ein....schau mal, ob sie überhaupt geht.
Ilja