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;