Heim > Datenbank > MySQL-Tutorial > Wie zähle ich das Vorkommen von Teilzeichenfolgen und sortiere Ergebnisse in MySQL?

Wie zähle ich das Vorkommen von Teilzeichenfolgen und sortiere Ergebnisse in MySQL?

Barbara Streisand
Freigeben: 2024-11-25 09:40:54
Original
944 Leute haben es durchsucht

How to Count Substring Occurrences and Sort Results in MySQL?

Instanzen eines Teilstrings zählen und nach Vorkommen sortieren (MySQL)

Problem:

Sie möchten das Vorkommen einer bestimmten Teilzeichenfolge in einem Zeichenfolgenfeld in einer MySQL-Datenbank zählen. Darüber hinaus müssen Sie die Ergebnisse absteigend nach der Anzahl der Vorkommen ordnen.

Lösung:

Um dies zu erreichen, können Sie Folgendes verwenden Abfrage:

SELECT (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))) / CHAR_LENGTH(substr) AS cnt
FROM table_name
ORDER BY cnt DESC
Nach dem Login kopieren

Erklärung:

  • CHAR_LENGTH(str): Diese Funktion gibt die Länge des Strings str zurück.
  • REPLACE(str, substr, ''): Diese Funktion ersetzt alle Vorkommen von substr in str mit einer leeren Zeichenfolge, wodurch diese effektiv entfernt werden.
  • CHAR_LENGTH(REPLACE(str, substr, '')): Dies bestimmt die Länge der Zeichenfolge, wobei die Teilzeichenfolge entfernt wurde.
  • (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))): Dies berechnet die Anzahl der Vorkommen von substr, indem die Länge der geänderten Zeichenfolge von der ursprünglichen Zeichenfolge subtrahiert wird.
  • CHAR_LENGTH(substr): Dies gibt die an Länge des zu zählenden Teilstrings.
  • cnt: Dies ist ein Alias ​​für die berechnete Anzahl von Vorkommen.

Die ORDER BY cnt DESC-Klausel ordnet die Ergebnisse der Abfrage in absteigender Reihenfolge und platziert die Datensätze mit der höchsten Anzahl an Vorkommen von Teilzeichenfolgen ganz oben.

Beispielverwendung:

Angenommen, Sie haben eine Tabelle namens „Strings“ mit einem Spaltentext, der verschiedene Strings enthält. So zählen Sie die Vorkommen der Teilzeichenfolge „the“ in der Textspalte und ordnen die Ergebnisse nach der Anzahl der Vorkommen:

SELECT (CHAR_LENGTH(text) - CHAR_LENGTH(REPLACE(text, 'the', ''))) / CHAR_LENGTH('the') AS cnt
FROM strings
ORDER BY cnt DESC
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie zähle ich das Vorkommen von Teilzeichenfolgen und sortiere Ergebnisse in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage