Halihallo Markus
das problem ist jetzt, es müsste beides in einen query, weil ich immer 10 pro seite zeige und den limit daher auf $start,10 setze... das gelingt mir mit meinem verständnis aber nicht bei 2 queries...
Stimmt. Wenn du nach wie vor die Daten aus den Gästebucheinträgen nicht brauchst, kannst
du folgenden Query benutzen:
SELECT
u.*,
COUNT(gb.ownerid) AS count
FROM
user AS u
LEFT OUTER JOIN guestbook AS gb ON gb.ownerid=u.id
ORDER BY count
GROUP BY gb.ownerid
LIMIT $start, 10
Damit erhälst du dann etwa folgendes:
id name count
1 n1 3
2 n2 2
3 n3 0
ist es das, wonach du suchst?
Der LEFT OUTER JOIN (falls du den noch nicht kennst), brauchst du, um auch User
anzuzeigen, welche gar nicht mit der Guestbook-Tabelle gejoined werden können, da sie
gar keine Beiträge geschrieben haben. Alle Felder von Guestbook werden in dem Falle mit
NULL gefüllt, was bei einem COUNT(gb.ownerid) zu einer '0' führt (also keine Beiträge).
Viele Grüsse
Philipp