2013-05-20 2 views
0

Supposons que ma table est comme. Est-il possible, dans mysql, de rechercher dans l'ordre des noms par le plus grand nombre de correspondances sous-chaînes. Si l'on recherche John Terry ordre de résultat devrait êtremysql requête basée sur le poids possible?

John Terry 
John Walker Terry 
john 
Terry 
+0

Etes-vous en train d'essayer de classer les résultats en fonction de la correspondance? Utilisez la recherche en texte intégral. – Barmar

Répondre

0
SELECT * FROM yourtable WHERE NAME LIKE '%John%Terry%' 

Cette requête recherche vers l'avant seulement pas à l'arrière. Vous obtiendrez le résultat suivant

John Terry John Walker Terry

mais tous les résultats que vous attendez est impossible avec requête SQL.

1

Vous pourriez obtenir les résultats avec les éléments suivants. Mais ceci retournera n'importe qui avec John ou Terry dans leur nom ainsi vous voudrez peut-être ajouter une sorte de classement basé sur le match.

SELECT * FROM yourtable WHERE Name LIKE '%John%' OR Name LIKE '%Terry%' 
Questions connexes