mysql在一行中找到最匹配的单词

时间:2014-08-18 08:52:25

标签: php mysql match boolean-search

我有下表:

------------------------
| 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。

因此,重要的是它在表格行中创建了所有单词或单词组合。查询不包含表格中没有的单词或组合单词(我先检查一下)。

1 个答案:

答案 0 :(得分:0)

只需使用LIKE,但另一种方法是使用您可能习惯的方式。

select query
from table1
where 'attrvalue' like concat(query,'%')
order by length(query) desc
limit 1