Autre méthode :
SELECT *
FROM (
SELECT * FROM table_name
ORDER BY date ASC, time ASC
) AS sub
GROUP BY name
GROUP BY regroupe sur le premier résultat correspondant qu'il atteint. Si ce premier hit correspondant est celui que vous souhaitez, tout devrait fonctionner comme prévu.
Je préfère cette méthode car la sous-requête a un sens logique plutôt que de la parsemer d'autres conditions.