suppose que nous accomplissons des mots-clés à l'aide de la recherche: keyword1, keyword2, mot clé3Mysql: Trier par comme?
il y a des enregistrements dans la base de données avec la colonne "nom":
1: John Doe 2: Samuel Doe 3: John Smith 4: Anna Smith
maintenant Requête:
SELECT * FROM users WHERE (name LIKE "%John%" OR name LIKE "%Doe%")
il sera sélectionner des enregistrements: 1,2,3 (dans cet ordre) mais je veux le commander par mot-clé dans l'exemple keyword1=John, keyword2=Doe
alors il devrait être répertorié par mots-clés: 1,3,2 (parce que je veux effectuer une recherche pour « Doe » après avoir cherché « John »)
Je pensais à SELECT DISTINCT FROM (...... UNION .....)
mais il sera beaucoup plus facile de le commander en quelque sorte d'une autre manière (requête réelle est vraiment long)
y at-il des astuces pour créer une telle commande?
oui, qui fonctionne, je vous remercie :) – dfens
une chose - si je comprends correctement tous LIKE être exécuté 2 fois dans la requête entière? – dfens
@dfens: Je suppose que le 'LIKE' de la clause' ORDER BY' ne s'exécutera que sur les données correspondant à la clause 'WHERE', donc il devrait être plus rapide. – RedFilter