mySQL: Nach Häufigkeit sortieren... ohne abhängige Dubletten

dingo5

Grünschnabel
Vielleicht kann mir jemand mit folgendem Problem helfen:

Als Ausgangsbasis habe ich mal Folgende Tabelle:

tier, halter
------------
katze, fritz
katze, fritz
katze, fritz
hund, alfred
hund, thomas
maus, mike

1. Nun möchte ich die Ausgabe sortiert haben, nach Häufigkeit des Tieres.
2. Dabei sollen allerdings nur Datensätze berücksichtigt werden, wo der Halter nur einmal vorkommt.

Ergebnis müsste also sein:

häufigkeit,tier
2,hund
1,katze
1,maus

Also hund an erster Stelle.

Ohne Kriterium 2 wäre die Abfrage wie folgt:

SELECT tier, halter, COUNT(tier) AS count_tiere FROM tabelle GROUP BY tier ORDER BY count_tiere DESC

Müsste folgendes ergeben:
3,katze
2,hund
1,maus

Wie kann ich die Abfrage nun abändern um Kriterium 2 zu erfüllen?
 
Du könntest ein subselect machen oder ein view benutzen.

subselect wäre z.b.

SELECT table_a.tier, COUNT( table_a.tier ) AS count_tiere
FROM (
SELECT DISTINCT tier, halter
FROM tabelle
) AS table_a
GROUP BY table_a.tier
ORDER BY count_tiere DESC
 
Zurück