Im Bereich von Datenbankabfragen kann das Extrahieren bestimmter Textelemente aus einem bestimmten String eine häufige Anforderung sein . Trotz seiner robusten SQL-Funktionen fehlt MySQL die native Unterstützung für die direkte Extraktion von Textteilen, die einem regulären Ausdruck entsprechen.
Um das n-te Wort aus einer MySQL-Zeichenfolge zu extrahieren, können wir die nutzen SUBSTRING- und LOCATE-Funktionen. SUBSTRING ermöglicht es uns, einen bestimmten Abschnitt der Zeichenfolge zu extrahieren, während LOCATE das erste Vorkommen einer bestimmten Teilzeichenfolge findet.
Angenommen, wir möchten das zweite Wort aus der Zeichenfolge „Dies ist ein Test“ extrahieren. Das folgende Codebeispiel demonstriert dies:
SUBSTRING( sentence, LOCATE(' ', sentence) + CHAR_LENGTH(' '), LOCATE(' ', sentence, ( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') ) )
Dieser Code identifiziert zunächst die Position des ersten Leerzeichens mithilfe von LOCATE. Anschließend wird die Länge des Leerzeichens hinzugefügt, um an den Anfang des zweiten Worts zu gelangen. Schließlich findet es das nächste Leerzeichen, berechnet seine Länge und subtrahiert es, um die entsprechende Länge für SUBSTRING zu erhalten.
Zum Zählen von Wortvorkommen in einer MySQL-Zeichenfolge, der GROUP Die BY-Klausel wird verwendet. Angenommen, wir haben eine Tabelle, die eine Spalte namens „text“ mit verschiedenen Texteinträgen enthält. Die folgende Abfrage würde das Vorkommen jedes Wortes in der Spalte „Text“ zählen:
SELECT word, COUNT(*) FROM ( SELECT sentence, SUBSTRING_INDEX(sentence, ' ', occurrence) AS word FROM ( SELECT sentence, ROW_NUMBER() OVER (PARTITION BY sentence ORDER BY LOCATE(' ', sentence)) AS occurrence FROM table_name ) t ) subquery GROUP BY word
Diese Abfrage verwendet eine Unterabfrage, um jedes Wort aus den Sätzen zu extrahieren und sie der Spalte „Wort“ zuzuweisen. ROW_NUMBER wird verwendet, um jedem Wort innerhalb eines Satzes eine Vorkommensnummer zuzuweisen und so sicherzustellen, dass jedes Wort einen eindeutigen Vorkommenswert hat. Die äußere Abfrage gruppiert dann nach dem extrahierten „Wort“, um dessen Vorkommen zu zählen.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich das n-te Wort und zähle Wortvorkommen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!