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
Erklärung:
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
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!