MYSQL - СООТВЕТСТВУЕТ ПРОТИВУ значению оценки = 0, но>0 в предложении WHERE

У меня есть 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 ответов

Выберите из производной таблицы:

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;
Другие вопросы по тегам