我试图根据第一个字母来命令我的mysql查询,但我使用的每个方法都限制了我的搜索。
示例 MySQL表 值 电脑服务 abc电脑服务 动态计算机服务
如果我搜索computer services
,我希望结果返回为:
**Name**
computer services
abc computer services
dynamic computer services
我正在使用mysql fullsearch文本但是如果我使用name LIKE 'c%'
我没有其他两个结果,例如。
SELECT name FROM table WHERE match('name') against('computer services*' IN BOOLEAN MODE) AND name LIKE 'c%';
这只会返回
但我希望它能够回归:
我是mysql完整搜索文本的新手。
答案 0 :(得分:2)
首先使用与'starts with'大小写匹配的order by子句。我在这里使用not like
,因为布尔值返回0或1,我们想要反转它以匹配首先出现的情况。
SELECT name
FROM table
WHERE match('name') against('computer services*' IN BOOLEAN MODE)
ORDER BY name NOT LIKE 'computer services%', name;