Hi, ich hab nen Problem beim erstellen meines Querys.
Folgend versuche ich aus meinen Nachrichten die jeweils letzte Nachricht egal ob gesendet oder empfangen eines users zu ermitteln.
Das klappt zwar, allerdings bekomme ich als Resultat wirklich ALLE Nachrichten.
Ich würde die für eine Übersicht ganz gerne gruppieren.
Und hier kommt das Problem. Beim benutzen von GROUP BY
funktioniert das ORDER BY irgendwie nicht mehr richtig.
Dies Statement liefert mir bislang alle Ergebnisse:
xxx symbolisiert die Session userid des jeweiligen Users,
die mit Raute (#) markierte Zeile hab ich nur zur Übersicht mit dazugepackt,
denn wenn das Group By angewendet wird, bekomme ich nicht das Ergebnis welches ich haben möchte.
Bitte bitte um Anteilname, ich sitz da schon wirkliche 7 Tage dran
Dankeschön
edit: Das ganze hab ich ebend noch mit nem Join getestet. Auch hier das selbe bei der gruppierung.
Folgend versuche ich aus meinen Nachrichten die jeweils letzte Nachricht egal ob gesendet oder empfangen eines users zu ermitteln.
Das klappt zwar, allerdings bekomme ich als Resultat wirklich ALLE Nachrichten.
Ich würde die für eine Übersicht ganz gerne gruppieren.
Und hier kommt das Problem. Beim benutzen von GROUP BY
funktioniert das ORDER BY irgendwie nicht mehr richtig.
Dies Statement liefert mir bislang alle Ergebnisse:
PHP-Code:
SELECT msg . * , usr.username, usr.timezone, usr.gender, if( msg.senderid = msg.owner, msg.recipientid, msg.senderid ) AS refuid
FROM mailbox AS msg, user AS usr
WHERE msg.owner =XXX
AND usr.id = if( msg.senderid = msg.owner, msg.recipientid, msg.senderid )
#########GROUP BY usr.username#########
order by msg.sendtime desc
die mit Raute (#) markierte Zeile hab ich nur zur Übersicht mit dazugepackt,
denn wenn das Group By angewendet wird, bekomme ich nicht das Ergebnis welches ich haben möchte.
Bitte bitte um Anteilname, ich sitz da schon wirkliche 7 Tage dran
Dankeschön
edit: Das ganze hab ich ebend noch mit nem Join getestet. Auch hier das selbe bei der gruppierung.
PHP-Code:
SELECT msg . * , if( msg.senderid = msg.owner, msg.recipientid, msg.senderid ) AS refuid, usr.gender, usr.username, usr.timezone
FROM mailbox msg
LEFT JOIN user usr ON username = usr.username
WHERE msg.senderid=xxx
AND usr.id = if( msg.senderid = msg.owner, msg.recipientid, msg.senderid )
ORDER BY msg.sendtime DESC
Kommentar