php - Perform partial search on MySQL table when exact match may be available -


i running following sql statement php script:

select phone, coalesce(preferredname, popularname) distilled_contacts phone :phone limit 6 

as obvious, statement returns first 6 matches against table in question. value i'm binding :phone variable goes this:

$search = '%'.$search.'%'; 

where, $search string of numerals. wildcard characters ensure search on, 918, return every record phone field contains 918:

  1. 9180078961
  2. 9879189872
  3. 0098976918
  4. 918
  5. ...

my problem happens if there exist entry value matches search string exactly, in case 918 (the 4th item in list above). since there's limit 6, first 6 entries retrieved may or may not contain 1 exact match. there way ensure results contain record exact match, on top of resulting list, should 1 available?

you use order ensure exact match on top:

order case when phone = :phone 1 else 2 end   

Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -