Hallo,
also... ich habe in einer DB zwei Tabellen, eine mit Usern, die andere mit Einträgen der User (die Einträge sind über die IDs der User mit den Usern verknüpft).
Jetzt möchte ich die User auflisten - sortiert nach der Anzahl ihrer Einträge. Geht das?
Also im Prinzip so etwas:
SELECT ... FROM Usertabelle ORDER BY [Anzahl der Einträge in Datentabelle]Danke,
Holger
Irgendwie kennt kaum jemand die normale Kreuabfrage mit zwei Tabellen und einem Where.
Also: Was du brauchst ist ganz einfach diese Abfrage:
Select Usertabelle.username
From Usertabelle, Eintragstabelle
Where Usertabelle.userid = Eintragstabelle.userid
Group By Usertabelle.username
Order By Count(Eintragstabelle.Eintragsid) desc;
Damit sortierst du den User nach oben, der die meisten Einträge hat. Wenn du den User mit den wenigsten Einträgen an erster Stelle haben willst, lass das desc weg. Der Trick ist einfach das Count als OrderBy-Kriterium zu verwenden. Damit musst du es nicht anzeigen lassen.
MfG Mero