问题描述:某个数据库,搜索“面包”,返回结果是按照数据库里的顺序出现,这样会出现“鱼肉(面包鱼)”、“面包”……但其实我们想要的是“面包”。所以需要实现按照匹配程度排序。
从最简单的实施角度来说,就是要使得sql语句中"面包%“排在”%面包%"前面。
解决方法:
select * from food
where name like CONCAT('%',word,'%')
order by
(case
when name l
问题描述:某个数据库,搜索“面包”,返回结果是按照数据库里的顺序出现,这样会出现“鱼肉(面包鱼)”、“面包”……但其实我们想要的是“面包”。所以需要实现按照匹配程度排序。
从最简单的实施角度来说,就是要使得sql语句中"面包%“排在”%面包%"前面。
解决方法:
select * from food
where name like CONCAT('%',word,'%')
order by
(case
when name l