Maison > base de données > tutoriel mysql > Comment compter les occurrences de sous-chaînes et les résultats de commande par fréquence dans MySQL ?

Comment compter les occurrences de sous-chaînes et les résultats de commande par fréquence dans MySQL ?

DDD
Libérer: 2024-11-14 17:55:02
original
535 Les gens l'ont consulté

How to Count Substring Occurrences and Order Results by Frequency in MySQL?

Comptage des instances de sous-chaîne et classement des résultats dans MySQL

Dans MySQL, vous pouvez compter les occurrences d'une sous-chaîne dans un champ de chaîne et trier les résultats basés sur la fréquence de ces occurrences à l'aide de la requête suivante :

SELECT (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))) / CHAR_LENGTH(substr) AS cnt
...
ORDER BY cnt DESC
Copier après la connexion

Cette expression calcule le nombre de sous-chaînes par diviser la différence entre la longueur de la chaîne d'origine et la longueur de la chaîne avec la sous-chaîne remplacée par une chaîne vide par la longueur de la sous-chaîne. Les résultats sont ensuite triés par ordre décroissant du nombre.

Exemple :

Considérons une table avec une colonne hôte qui contient les valeurs suivantes :

'127.0.0.1'
'honeypot'
'honeypot'
'localhost'
'localhost'
Copier après la connexion

Pour compter les occurrences de la sous-chaîne 'l' dans la colonne hôte et trier les résultats par nombre, vous utiliserez ce qui suit requête :

SELECT host, (CHAR_LENGTH(host) - CHAR_LENGTH(REPLACE(host, 'l', ''))) / CHAR_LENGTH('l') AS cnt
FROM user
ORDER BY cnt DESC
Copier après la connexion

Les résultats seraient :

| host      | cnt    |
|-----------+--------|
| localhost | 2.0000 |
| localhost | 2.0000 |
| honeypot  | 0.0000 |
| honeypot  | 0.0000 |
| 127.0.0.1 | 0.0000 |
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal