En MySQL, comment trier une table en faisant apparaître les valeurs d'un champ les plus fréquentes en premier ?
En MySQL, il est possible de compter le nombre d'occurrences d'une valeur et de s'en servir pour classer les résultats.
Prenons un exemple : supposons l’existence d'une table users
qui contient un champ name
. On souhaite savoir quels sont les noms les plus fréquents.
SELECT name, COUNT(*) AS occurrences
FROM users
GROUP BY name
ORDER BY occurrences DESC
Tester la requête en ligne sur DB-fiddle.
La requête SQL ci-dessus va :
- regrouper toutes les lignes comportant le même nom (
GROUP BY name
) - compter le nombre de regroupement pour chaque ligne (
COUNT(*) AS occurrences
) - classer les résultats de façon à ce que les noms les plus fréquents soient en premier (
ORDER BY occurrences DESC
).
En MySQL, il est possible de compter le nombre d'occurrences d'une valeur et de s'en servir pour classer les résultats.
Prenons un exemple : supposons l’existence d'une table users
qui contient un champ name
. On souhaite savoir quels sont les noms les plus fréquents.
SELECT name, COUNT(*) AS occurrences
FROM users
GROUP BY name
ORDER BY occurrences DESC
Tester la requête en ligne sur DB-fiddle.
La requête SQL ci-dessus va :
- regrouper toutes les lignes comportant le même nom (
GROUP BY name
) - compter le nombre de regroupement pour chaque ligne (
COUNT(*) AS occurrences
) - classer les résultats de façon à ce que les noms les plus fréquents soient en premier (
ORDER BY occurrences DESC
).
# | ID | Query | URL | Count |
---|