295 votes

MySQL: nombre d'occurrences de valeurs distinctes

J'essaie de trouver une requête MySQL qui trouvera des valeurs distinctes dans un champ particulier, comptera le nombre d'occurrences de cette valeur, puis classera les résultats par nombre.

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

518voto

Amber Points 159296
SELECT name,COUNT(*) as count FROM tablename GROUP BY name ORDER BY count DESC;

24voto

Pascal MARTIN Points 195780

Qu'en est-il de quelque chose comme ça:

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

c'est-à-dire que vous sélectionnez le nom et le nombre de fois qu'il apparaît; mais regroupement par nom afin que chaque nom soit sélectionné une seule fois.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X