OK, je travaille avec cela depuis un certain temps et je suis un peu coincé.mysql ordre de requête par correspondance exacte avec plusieurs clauses LIKE
Peut-être que j'y vais tout faux!
Fondamentalement, j'ai une requête pour un champ de recherche. L'idée générale est de sélectionner le résultat basé sur LIKE %% tout en mettant les correspondances exactes en premier. Donc, par exemple, si vous cherchez 47 je veux tout avec 47 dans id, nom, ou nom de société pour montrer, mais le résultat avec le numéro d'identification 47 devrait être sur le dessus et la même chose si j'ai tapé un nom de famille.
S'il vous plaît voir mon code ci-dessous, il peut aider à clarifier ma question.
SELECT id,
IF(company_name IS NOT NULL AND company_name <> '', company_name, surname) AS name,
first_name, country, phone1, isowner, isholidayrenter, isproholidayrenter,
islongtermrenter, isprolongtermrenter, isprobuyer, isbuyer
FROM clients
WHERE id LIKE '$search' OR surname LIKE '$search' OR company_name LIKE '$search'
union all
SELECT id,
IF(company_name IS NOT NULL AND company_name <> '', company_name, surname) AS name,
first_name, country, phone1, isowner, isholidayrenter, isproholidayrenter,
islongtermrenter, isprolongtermrenter, isprobuyer, isbuyer
FROM clients
WHERE id LIKE '%$search%' AND id NOT LIKE '$search' OR surname LIKE '%$search%'
and SURNAME NOT LIKE '$search' OR company_name LIKE '%$search%'
and company_name NOT LIKE '$search'
LIMIT $start, $limit";
`
Absolument parfait, merci beaucoup. Je ne m'attendais pas à être donné dans une assiette. – traxwriter
C'est la première chose que je suis allé faire, mais je n'ai pas assez de points de rep pour voter. :( – traxwriter