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
512 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!

source:php.cn
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