MYSQL - MATCH AGAINST得分值= 0但在WHERE子句

时间:2018-06-05 12:23:46

标签: mysql full-text-search full-text-indexing match-against

我在2台服务器上有2个类似的数据库 如果我尝试每一个执行此请求:

SELECT u.lastname, MATCH (u.lastname) AGAINST ('Rod*' IN BOOLEAN MODE)
FROM user u
WHERE MATCH (u.lastname) AGAINST ('Rod*' IN BOOLEAN MODE) > 0 ;

在第一台服务器上,它会给我一个数字值作为匹配分数的结果。

第二个,我得到了相同的结果,所以where子句确实应用了,但得分总是=到0.

你知道吗?我想这可能是mysql的特定内容...但我不知道要检查哪一个。

非常感谢

1 个答案:

答案 0 :(得分:1)

从派生表中选择:

SELECT lastname, score FROM (
SELECT u.lastname, MATCH (u.lastname) AGAINST ('Rod*' IN BOOLEAN MODE) AS score 
FROM user u 
) as derivedTable WHERE score <> 0 ORDER BY score DESC;