Einzelnen Beitrag anzeigen

Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

GROUP BY verfälscht die Ergebnisse

  Alt 24. Okt 2007, 18:55
Datenbank: MySQL • Version: 4 • Zugriff über: ZEOS
Hallo,

habe mal wieder ein Problem. Und zwar habe ich eine Software geschrieben, in die man sich einloggen kann. Jetzt habe ich eine Tabelle "logins", in der ALLE Logins liegen und eine Tabelle user, in der die Userdaten und Bilderpfade liegen.

Jetzt möchte ich auf der Hauptform die letzten Logins anzeigen und nach User gruppieren. Es sollen auch nur User angezeigt, deren Bildpfad im Profil nicht leer ist.

Dazu habe ich folgende SQL-Query

SELECT logins.*, profil.bildpfad FROM logins AS logins JOIN profil AS profil ON (logins.benutzerid = profil.benutzerid) WHERE bildpfad <> '' GROUP BY logins.benutzerid ORDER BY loginzeit DESC LIMIT 5;

Soweit so gut. Die Query wird ausgeführt und die Bilder werden angezeit - nur leider falsch:

Ich habe 500 Logins in der Tabelle verzeichnet. Der letzte Login ist von mir und ich habe ein Bild drin. Doch das Ergebnis beginnt nicht mit mir, sondern mit einem anderen User und lässt mich komplett außer Acht. Achso: Nicht nur micht, sondern auch andere. Die höchste ID ist nicht die 500 (ich), sondern die 478... warum auch immer. Zwischen 478 und 500 gab es mehrere Logins mit Bild.

Ich hoffe ich habe es genau genug erklärt und ihr könnt mir helfen...


Danke!!!
  Mit Zitat antworten Zitat