Maison  >  Article  >  base de données  >  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
Linda Hamiltonoriginal
2024-11-16 18:12:03295parcourir

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

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:
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