我在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的特定内容...但我不知道要检查哪一个。非常感谢
答案 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;