Php mysql在一行中找到最匹配的单词
我有以下表格:Php mysql在一行中找到最匹配的单词,php,mysql,match,boolean-search,Php,Mysql,Match,Boolean Search,我有以下表格: ------------------------ | uid | attrvalue | ------------------------ | 1 | Spray | | 2 | strong | | 3 | very strong | | 999 | Creme | ------------------------ 现在我有了一个php查询,我想找到所有查询所在的所有行 SELECT * FROM
------------------------
| uid | attrvalue |
------------------------
| 1 | Spray |
| 2 | strong |
| 3 | very strong |
| 999 | Creme |
------------------------
现在我有了一个php查询,我想找到所有查询所在的所有行
SELECT * FROM attrtable WHERE MATCH (attrvalue) AGAINST ('Spray+very+strong' IN BOOLEAN MODE);
我喜欢它只找到第1行和第3行。但结果是1、2和3
因此,在表行中查找所有单词或单词组合非常重要。查询不包含不在表中的单词或组合词,我先检查一下。只需使用LIKE,但与您可能使用的相反
select query
from table1
where 'attrvalue' like concat(query,'%')
order by length(query) desc
limit 1
你在问什么?请正确解释你在问什么谢谢你的评论。我喜欢它只找到第1行和第3行。你需要定义你的规则,你说你想让Spray+very+strong匹配Spray但不是strong,但这两个都在查询中。看看