Hallo,
ich beiße mir gerade die Zähne daran aus, wie ich über MySQL den häufigsten Eintrag selektieren kann, allerdings mehrere, wenn die Anzahl gleich ist.
Konkret:
Über meine bishere Abfrage erhalte ich alle Einträge gezählt und absteigend sortiert. Grob vereinfacht sieht die Abfrage so aus:
select count(name) as anz, name from tabelle group by name order by anz DESC;
Beispiel 1:
6 Anton
6 Hubert
2 Herbert
Beispiel 2:
4 Carsten
4 Detlef
4 Uwe
4 Tim
Wie bekomme ich jetzt aber im Beispiel 1 nur die ersten beiden und im Beispiel 2 alle 4 (weil ja alle 4 gleich häufig)?
Momentan habe ich nur die Idee, die größte Anzahl zu ermitteln (entweder über limit oder über max()) und dann den Select nochmal aufzurufen, nur diesmal mit der Where-Bedingung, das anz = dem Max-Wert sein muss.
Gibt es nicht doch eine Möglichkeit, das direkt in einer Abfrage zu ermitteln?
LG Klaus