Worthäufigkeit feststellen

silent_scream

Grünschnabel
Hallo Leute,

ich hab mal wieder eine Frage auf die ich von Euch vllt. ne Lösung bekommen könnte. Folgendes will ich machen:

Ich habe Datensätze aus einer Tabelle einer DB. Jeder dieser Datensätze enthällt auf jeden Fall ein Feld TEXT mit beliebig vielen Wörtern.

Nun würde ich gerne feststellen, welches Wort wie oft vorkommt. Sprich: Wort1 kommt 53 mal vor; Wort2 kommt 35 mal vor.

Die Ausgabe wäre an sich nicht das Problem. Nur fehlt es mir nach einer Möglichkeit festzustellen, welche Wörter öfter als ein mal vorkommen. Kann ich das in einem Array machen, nachdem ich die Daten aus der Tabelle in ein Array geladen habe. Oder kann ich das evtl. schon mit einem geschickten SELECT lösen?

Habe hier im Forum und im Inet schon ein wenig gesucht, aber nichts Passendes gefunden. Wäre euch sehr dankbar, wenn ihr mir helfen würdet.

Gruß,
silent_
 
Es gibt eine (etwas umständliche) Möglichkeit, die Anwahl der Vorkommen eines Wortes innerhalb einer Zeichenkette direkt bei der Abfrage zu ermitteln:
Code:
SELECT
        (LENGTH(`spalte`) - LENGTH(REPLACE(`spalte`, 'Suchwort', ''))) / LENGTH('Suchwort') as `vorkommen`
  FROM
        …
Sonst solltest du vielleicht mit der Volltextsuche MySQLs arbeiten.
 
Danke für Deine schnelle Antwort! Werd ich gleich mal ausprobieren.

// EDIT:
habs grade getestet und es macht (mit ein bisschen was extre, das ich noch coden muss) genau das was ich wollte... DANKE

*freu*

silent_
 
Zuletzt bearbeitet:
Zurück