Ich habe folgende Anweisung als Vorgabe:
SELECT rev_user_text FROM revision WHERE rev_page = 336 AND rev_user >= 1 ORDER BY rev_user_text ASC
Die Vorlage stammt aus einer Extension von mediawiki (der Wikipedia-Software) und gibt zurück, welche Benutzer eine Seite (hier 336) überarbeitet haben.
Das Ergebnis ist:
Björn
Björn
Heinrich
Heinrich
Durch einfügen des distinct-Schlüsselwortes, wird jeder mögliche Name nur einmal ausgegenen:
SELECT distinct rev_user_text FROM revision WHERE rev_page = 336 AND rev_user >= 1 ORDER BY rev_user_text ASC
Das Ergebnis ist:
Björn
Heinrich
Was ich gerne hätte wäre, dass der Aufruf die Ausgabe übergeordnet nach der Anzahl der Einträge in der Tabelle sortiert, und nachgeordnet alphabetisch.
Außerdem wäre es schön, wenn die Anzahl der Zeilen mit ausgegeben würde.
Ich habe es mit
SELECT DISTINCT rev_user_text, COUNT(DISTINCT rev_user_text) FROM revision WHERE rev_page = 336 AND rev_user >= 1 ORDER BY COUNT(DISTINCT rev_user_text), rev_user_text ASC
probiert, doch das Ergebnis ist nur noch eine Zeile mit "Björn" und einer 2.
Wo ist mein Denkfehler bzw. warum bekomme ich keine zweite Zeile mit dem nächsten Namen ?
Vielen Dank für jeden Denkanstoß,
Heinrich