我正在使用MySQL 5.5,这就是为什么我不能使用FULLTEXT搜索,所以请不要建议。
我想要做的是,如果用户我有5条记录,例如:
Amitesh
Ami
Amit
Abhi
Arun
如果有人搜索Ami,那么它应该首先返回Ami作为完全匹配然后Amit& Amitesh
答案 0 :(得分:17)
你可以这样做:
select *
from table t
where col like '%Ami%'
order by (col = 'Ami') desc, length(col);
答案 1 :(得分:0)
SELECT *
FROM table t
WHERE col LIKE '%Ami%'
ORDER BY INSTR(col,'Ami') asc, col asc;
答案 2 :(得分:0)
使用 like
中的 order by
可以找到更准确的输出。
SELECT * FROM `table_name` WHERE col LIKE '%ami%' order by (col LIKE 'ami%') desc;