Un altro metodo:
SELECT *
FROM (
SELECT * FROM table_name
ORDER BY date ASC, time ASC
) AS sub
GROUP BY name
GROUP BY raggruppa sul primo risultato corrispondente che raggiunge. Se il primo risultato corrispondente è quello che desideri, tutto dovrebbe funzionare come previsto.
Preferisco questo metodo poiché la sottoquery ha un senso logico piuttosto che arricchirlo con altre condizioni.