... Vielleicht irgendwie so
SELECT t3.athlet, t3.rang, t3.punkte, t3.datum
FROM test t3 LEFT OUTER JOIN
(SELECT t1.athlet, MAX(t1.datum) AS maxdatum
FROM test t1
GROUP BY t1.athlet) AS t2
ON t3.athlet = t2.athlet AND t3.datum = t2.maxdatum
ORDER BY t3.rang
der Syntax kann bei dir ev. etwas anders sein (MySQL, MSSQL, Firebird usw) aber so könnte es ev. funktioieren