Zählen von Teilstring-Instanzen und Sortieren nach Vorkommen in MySQL
In MySQL können Sie die Vorkommen eines bestimmten Teilstrings in einem String-Feld zählen und Sortieren Sie anschließend die Ergebnisse nach der Anzahl der Vorkommen in absteigender Reihenfolge.
Abfrage:
Die folgende Abfrage führt diese Aufgabe aus:
SELECT (CHAR_LENGTH(str) - CHAR_LENGTH(REPLACE(str, substr, ''))) / CHAR_LENGTH(substr) AS cnt
...
ORDER BY cnt DESC
Erklärung:
- Die äußere CHAR_LENGTH()-Funktion berechnet die Gesamtlänge des Zeichenfolgenfelds str.
- Die innere REPLACE()-Funktion ersetzt alle Instanzen von der Teilstring substr mit einem leeren String. Indem wir die Länge der ersetzten Zeichenfolge von der Gesamtlänge subtrahieren, erhalten wir die Anzahl der Vorkommen der Teilzeichenfolge.
- Dividiert man diese Differenz durch die Länge von substr, erhält man die Gesamtzahl der Vorkommen der Teilzeichenfolge.
- Mit dem cnt-Alias können wir auf den berechneten Wert in der ORDER BY-Klausel verweisen, die die Ergebnisse in absteigender Reihenfolge basierend auf der Anzahl der Vorkommen von Teilzeichenfolgen sortiert.
Das obige ist der detaillierte Inhalt vonWie zähle und ordne ich Teilstring-Vorkommen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme: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