Klaus1: Wie die häufigsten Einträge ermitteln. Mehrere bei gleicher Anzahl?

Beitrag lesen

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