mysql-match-against-score value=0,但where子句中大于0

sc4hvdpw  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(388)

我有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的一个特定形态。。。但我不知道该查哪一个。
非常感谢

rryofs0p

rryofs0p1#

从派生表中选择:

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;

相关问题