[MySQL] Gruppe mit kleinster Anzahl

burnred

Powerhamster
ID: 34739
L
4 Mai 2006
684
40
Ich würde gerne die Gruppe mit der kleinsten Anzahl Einträge ermitteln. Mein Ansatz dazu war
PHP:
SELECT schluessel FROM testTab 
GROUP BY spalte2 HAVING COUNT(schluessel) = MIN(COUNT(schluessel))
Das Problem dabei ist, dass MySQL diese Verschachtelung von MIN(COUNT()) nicht haben will. Ich anderen SQL-Dialekten geht diese nämlich.

Wie kann man das ganze denn alternativ lösen?
 
Ich bin mir grad nicht sicher, ob's so einfach klappt, aber eigentlich müsste ein ORDER BY COUNT(schluessel) ASC LIMIT 1 auch das gewünschte Ergebnis liefern.
 
Super funktioniert!
PHP:
SELECT schluessel FROM testTab 
GROUP BY spalte2 HAVING COUNT(schluessel) = 
(SELECT COUNT(schluessel) FROM testTab GROUP BY schluessel ORDER BY COUNT(schluessel) ASC LIMIT 1)
 
Naja so wie ich das verwende hat schon mit Subquery schon seinen Sinn, denn an dem äußerden SELECT hängt noch ein ORDER BY RAND()
 
Dann kannst du doch zuerst nach der Anzahl der Beiträge und danach per Zufall sortieren lassen. Kommt aufs gleiche raus.

Greetz

paddya