请教大家一个搜索结果优先排序的问题
如题,比如说数据库里的内容如下:
id name
1 ABCD
2 DCBA
3 BACD
4 CDAB
5 ….
搜索关键字为“A”,则结果排序为:1,3,4,2
搜索关键字为“B”,则结果排序为:3,1,2,4
不知道这样的搜索结果排序能否实现,请大家指点下,先谢过了
可以理解为搜索的关键字,在数据记录的字符串里,位置靠前的优先显示出来
select locate(‘B’,`str`) as `pos`, `id`,`str`
from `test`
where `str` like ‘%B%’ order by `pos`;