用于有效搜索用户名的SQL

时间:2016-02-13 13:56:56

标签: php sql

我有一个表,其中userID,userFirstName,userLastName为字段,其中包含大量记录。我必须列出所有类似于从用户收到的密钥值的用户。我在我的程序中将它作为$ searchKey。

如果用户使用字符串“Robert”进行搜索,则结果应首先向Robert提供相关值,然后向Rober提供相关值,然后向Robe提供相应值,然后向Rob提供<然后是Ro,
,最后是R。

1 个答案:

答案 0 :(得分:2)

一种方法是使用case中的order by语句:

order by (case where col like '%Robert%' then 1
               where col like '%Rober%' then 2
               where col like '%Robe%' then 3
               where col like '%Rob%' then 4
               where col like '%Ro%' then 5
               where col like '%R%' then 6
          end)