Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum gibt diese Abfrage eine Zeile mit Nullen zurück?

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;