Hallo Jungs,
Es geht um ein Select auf mysql.
Wie kann ich das am einfachsten erklären... ..Die User sind in Kategorien unterteilt. Nun möchte ich pro Kategorie je einen User abrufen inkl. Bilder und Andere Infos, von denjenigen, der sich als letzter eingelogt hat.
Das Problem ist, wenn ich GROUP BY category.id anwende, damit nur ein User pro Kategorie angezeigt wird, kann ich die Reihenfolge vor der Gruppierung nicht bestimmen.
Die Reihenfolge wäre mit ORDER BY sessions.lastlogin DESC definiert.
Diese aber nach der Gruppierung anzuwenden macht wenig Sinn, da die Gruppierung eben schon stattgefunden hat.
Hier noch das Select, dass funktioniert, aber nicht nach lastlogin sortiert, sondern vermutlich nach der ID:
Wer kann sagen wie aus GROUP BY bestimmt werden kann, welches element aus der Gruppe angezeigt werden soll?
Danke für eure Hilfe.
Gruss
Es geht um ein Select auf mysql.
Wie kann ich das am einfachsten erklären... ..Die User sind in Kategorien unterteilt. Nun möchte ich pro Kategorie je einen User abrufen inkl. Bilder und Andere Infos, von denjenigen, der sich als letzter eingelogt hat.
Das Problem ist, wenn ich GROUP BY category.id anwende, damit nur ein User pro Kategorie angezeigt wird, kann ich die Reihenfolge vor der Gruppierung nicht bestimmen.
Die Reihenfolge wäre mit ORDER BY sessions.lastlogin DESC definiert.
Diese aber nach der Gruppierung anzuwenden macht wenig Sinn, da die Gruppierung eben schon stattgefunden hat.
Hier noch das Select, dass funktioniert, aber nicht nach lastlogin sortiert, sondern vermutlich nach der ID:
PHP-Code:
SELECT r.id_user,
category.category,
sessions.lastlogin,
(SELECT r1.small FROM images AS r1 WHERE r.id_user = r1.id_user ORDER BY RAND() LIMIT 1) AS 'img'
FROM images AS r
LEFT JOIN userstatus ON r.id_user = userstatus.id_user
LEFT JOIN category ON userstatus.id_category = category.id
LEFT JOIN sessions ON r.id_user = sessions.id_user
RIGHT JOIN kundendienstleistungen ON category.id = kundendienstleistungen.id_category
WHERE userstatus.profil_ready = '1' AND category NOT IN ('freeUser')
GROUP BY category.id
ORDER BY category.id
Danke für eure Hilfe.
Gruss
Kommentar