Mero: User nach Einträgen in anderer Tabelle sortieren

Beitrag lesen

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