Problem mit GROUP BY

Brovning

Grünschnabel
Hallo @all!
Ich habe folgendes Problem. Ich möchte aus einer MySQL Datenbank einen Eintrag zu jedem Usern auslesen, wobei ein User mehrere in dieser Tabelle haben kann. Dabei möchte ich von jedem User den aktuellsten eintrag haben, was anhand Time-Eintrag erkannt werden kann. Wenn ich das Ganze per GROUP mache listet er mir zu jedem User immer den ältesten Eintrag. Woran scheitert es?

Code:
SELECT tabelle1. * , tabelle2.userid, tabelle2.username
FROM tabelle1, tabelle2
WHERE tabelle1.userid = tabelle2.userid
GROUP BY tabelle1.userid
ORDER BY tabelle1.time DESC
 
Die Sortierung wird erst nach der Gruppierung durchgeführt. Welcher Datensatz einer Gruppe im Ergebnis landet, liegt nicht in der Macht des Entwicklers, sondern in der Hand der MySQL-Query-Optimierung.
Aber es gibt Lösungen:
Schau Dir mal Toms Lösungsvorschlag an.

Gruß hpvw
 
Zurück