Estoy tratando de encontrar una consulta MySQL que encuentre valores distintos en un campo en particular, cuente el número de ocurrencias de ese valor y luego ordene los resultados por el conteo.MySQL: Cuente las ocurrencias de valores distintos
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é hace exactamente el grupo aquí? No está claro qué es el propósito? Parece que debería funcionar sin él si simplemente lo lees con claridad. – Prospero
Si bien la consulta de Amber es la respuesta correcta para la pregunta, me gustaría hacer una corrección en su comentario para evitar extraviar a las personas nuevas. Si deja el "grupo por" en una consulta de MySQL, no obtiene [Mike, 1], [Mike, 1], obtiene un único resultado que será el nombre en la PRIMERA fila devuelta, y un recuento de número de filas en la tabla, por lo que en este caso [Mark, 7]. count(), como una función de agregado funciona en todo el conjunto de datos, sumando, contando o combinando el campo especificado hasta una fila. Agrupar subdivide el conjunto de datos en fragmentos en función de combinaciones únicas de los campos especificados –
@Avatar_Squadron Muy bien; He eliminado el comentario anterior, estaba fuera de mi cabeza, y no tiendo a observar realmente los resultados del conteo sin grupo por mucho. :) – Amber