español - MySQL: cuente las ocurrencias de valores distintos
mysql wikipedia (3)
Estoy tratando de encontrar una consulta MySQL que encuentre valores distintos en un campo particular, cuente el número de ocurrencias de ese valor y luego ordene los resultados por el recuento.
ejemplo db
id name
----- ------
1 Mark
2 Mike
3 Paul
4 Mike
5 Mike
6 John
7 Mark
Resultado Esperado
name count
----- -----
Mike 3
Mark 2
Paul 1
John 1
Gracias
¿Qué tal algo así?
select name, count(*) as num
from your_table
group by name
order by count(*) desc
es decir, está seleccionando el nombre y la cantidad de veces que aparece; pero agrupando por nombre para que cada nombre sea seleccionado solo una vez.
Luego, ordena por número de veces, desc; tener los usuarios que aparecen con mayor frecuencia son lo primero.
Cambié el COUNT de Amber (*) a COUNT (1) para un mejor rendimiento.
SELECT name, COUNT(1) as count
FROM tablename
GROUP BY name
ORDER BY count DESC;
SELECT name,COUNT(*) as count FROM tablename GROUP BY name ORDER BY count DESC;