MySQL: Nach Relevanz sortieren
Frage von Progger99 | Letztes Update am 04.05.2021 | Erstellt am 31.12.2011
Ich möchte eine Suchanfrage nach mehreren Wörtern nach Ihrer Relevanz sortieren, das heißt: Umso mehr meiner Suchwörter in dem Datensatz enthalten sind, umso höher soll der Datensatz angezeigt werden, weil er mehr Relevanz besitzt.
Meine Abfrage sieht bisher etwa so aus:
SELECT * FROM tabelle WHERE text LIKE 'wort1' OR text LIKE 'wort2' OR text LIKE 'wort3' LIMIT 10 ORDER BY ??
Aber was kommt hinter dem ORDER BY? Ich hoffe mir kann jemand helfen. Ich möchte übrigens keine Volltextsuche benutzen!
Ähnliche Themen
MySQL: Volltextsuche und Suche mit LIKE für Worte mit 3 Buchstaben kombinieren
Tutorial | 2 Kommentare
Quicksort: Zwei Spalten sortieren
Frage | 1 Antwort
MySQL: Minimale Wortlänge bei der Volltextsuche ändern
Tipp | 1 Kommentar
MySQL: Zeilenumbrüche in MySQL
Tipp | 0 Kommentare
JavaScript: Array mit Zahlen sortieren
Tutorial | 0 Kommentare
Bilder, CSS, JS und Seiten neu laden trotz Browser-Cache
Tipp | 2 Kommentare
MySQL: CSV Export als automatischer Download
Tutorial | 1 Kommentar
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Eine Möglichkeit ohne Volltextsuche wäre es, eine Abfrage zu nehmen, die ungefähr so aussieht:
Jedes zutreffende Wort führt damit zu einer Erhöhung des Rangs bei der Sortierung. Wenn alle drei Worte in "text" vorkommen, kommen wir auf einen Rang von 3, während die Summe bei nur einem zutreffenden Wort 1 beträgt und der Datensatz entsprechend weiter unten erscheint.
Letztes Update am 04.05.2021 | Erstellt am 02.01.2012