Maison > base de données > tutoriel mysql > Comment compter et trier les occurrences de sous-chaînes dans MySQL ?

Comment compter et trier les occurrences de sous-chaînes dans MySQL ?

Linda Hamilton
Libérer: 2024-11-16 18:12:03
original
384 Les gens l'ont consulté

How to Count and Order Substring Occurrences in MySQL?

Comptage des instances de sous-chaînes et classement par occurrence dans MySQL

Dans MySQL, vous pouvez compter les occurrences d'une sous-chaîne spécifique dans un champ de chaîne et triez ensuite les résultats en fonction du nombre d'occurrences dans un ordre décroissant.

Requête :

La requête suivante accomplit cette tâche :

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

Explication :

  • La fonction externe CHAR_LENGTH() calcule la longueur totale du champ de chaîne str.
  • La fonction interne REPLACE() remplace toutes les instances de la sous-chaîne substr avec une chaîne vide. En soustrayant la longueur de la chaîne remplacée de la longueur totale, nous obtenons le nombre d'occurrences de la sous-chaîne.
  • Divisant cette différence par la longueur de substr nous donne le nombre total d'occurrences de sous-chaîne.
  • L'alias cnt nous permet de référencer la valeur calculée dans la clause ORDER BY, qui trie les résultats par ordre décroissant en fonction du nombre d'occurrences de sous-chaîne.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal