davon aus, dass wir Suche mit Schlüsselwörtern durchführen: keyword1, keyword2, Begriff3Mysql: Sortieren nach like?
gibt es Aufzeichnungen in der Datenbank mit der Spalte "Name":
1: John Doe 2: Samuel Doe 3: John Smith 4: Anna Smith
jetzt Abfrage:
SELECT * FROM users WHERE (name LIKE "%John%" OR name LIKE "%Doe%")
es wird Wählen Sie Datensätze: 1,2,3 (in dieser Reihenfolge) , aber ich möchte es nach Schlüsselwort in Beispiel keyword1=John, keyword2=Doe
bestellen, so sollte es nach Stichwörtern aufgelistet werden: 1,3,2 (weil ich durchführen zu suchen für „Doe“ nach für „John“ gesucht)
Ich dachte über SELECT DISTINCT FROM (...... UNION .....)
aber es wird viel einfacher, es zu bestellen irgendwie in einer anderen Art und Weise (real Abfrage wirklich lang)
Gibt es irgendwelche Tricks, um eine solche Reihenfolge zu erstellen?
ja, das funktioniert, danke :) – dfens
eine Sache - wenn ich es richtig jeder LIKE verstehen wird 2 mal in ganzer Abfrage ausgeführt werden? – dfens
@dfens: Ich vermute, dass das 'LIKE' in der' ORDER BY'-Klausel nur für die Daten ausgeführt wird, die mit der 'WHERE'-Klausel übereinstimmen, also sollte es schneller sein. – RedFilter