web-dev-qa-db-fra.com

MySQL: Compter le nombre d'occurrences des valeurs DISTINCT

J'essaie de trouver une requête MySQL qui recherche les valeurs DISTINCT dans un champ particulier, compte le nombre d'occurrences de cette valeur, puis trie les résultats.

exemple db

id         name
-----      ------
1          Mark
2          Mike
3          Paul
4          Mike
5          Mike
6          John
7          Mark

résultat attendu

name       count
-----      -----
Mike       3
Mark       2
Paul       1
John       1

Merci

203
JimmyJ
SELECT name,COUNT(*) as count FROM tablename GROUP BY name ORDER BY count DESC;
372
Amber

qu'en est-il quelque chose comme ça:

select name, count(*) as num
from your_table
group by name
order by count(*) desc

vous sélectionnez le nom et le nombre de fois qu’il apparaît; mais en regroupant par nom, chaque nom est sélectionné une seule fois.

Ensuite, vous commandez par nombre de fois, desc; avoir les utilisateurs qui apparaissent le plus souvent en premier.

13
Pascal MARTIN

Vient juste de changer le compte d'Amber (*) en compte (1) pour une meilleure performance.

SELECT name, COUNT(1) as count 
FROM tablename 
GROUP BY name 
ORDER BY count DESC;
5
Aerin