Die MySQL-Dokumentation sagt
Und wenn Sie keine Daten haben, gibt es einfach beide Werte als NULL zurück.
Wenn Sie möchten, dass die zweite Abfrage auch die leere Ergebnismenge zurückgibt, müssen Sie die NULL-Werte beispielsweise mit der HAVING-Klausel herausfiltern, die Sie mit Aggregatfunktionen verwenden können:
SELECT DISTINCT u_id, MAX(timestamp) as time FROM my_table GROUP BY u_id HAVING time IS NOT NULL;