MySQL LIKE 语句返回奇数结果

用户3369825

当我使用 AND 和 OR 对多列执行 LIKE MySQL 查询时,我的过滤器会导致查询(例如按价格 0 AND 50000 停止工作)。如果我从我的 LIKE 语句中去掉 OR,搜索工作正常。如何使用 LIKE 语句正确搜索多个列?

这是一个无工作声明的例子,其中价格被忽略

SELECT * 
  FROM table 
 WHERE Price BETWEEN 0 AND 500000 
   AND class_id = 1 
   AND TotalSqFt BETWEEN 0 AND 999999999 
   AND Acres BETWEEN 0 AND 999999999 
   AND InclusionsFeatures LIKE '%horse%' 
    OR Remarks LIKE '%horse%' 
ORDER 
    BY Price DESC

该语句工作正常,但现在我只能对一列执行 LIKE 查询。

SELECT * FROM table WHERE Price BETWEEN 0 AND 500000 AND class_id = 1 AND TotalSqFt BETWEEN 0 AND 999999999 AND Acres BETWEEN 0 AND 999999999 AND InclusionsFeatures LIKE '%horse%' ORDER BY Price DESC
哈米德·加森波

在第一个语句中,当您在最后一个 AND 之后添加 OR 时,Mysql 会一直运行,直到它运行 OR。如果 OR 条件通过,则 AND 之前的 All 将忽略。所以查询不能正确运行。

看看这个查询:

SELECT
    * 
FROM
TABLE 
WHERE
    Price BETWEEN 0 
    AND 500000 
    AND class_id = 1 
    AND TotalSqFt BETWEEN 0 
    AND 999999999 
    AND Acres BETWEEN 0 
    AND 999999999 
    AND (InclusionsFeatures LIKE '%horse%' OR Remarks LIKE '%horse%' ) 
ORDER BY
    Price DESC

通过按括号对您的 LIKES 进行分组,它会检查括号内的条件以及所有其他带有 AND 的条件。因此查询返回匹配括号内条件和所有其他条件的数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL加入LIKE语句

来自分类Dev

节点MySQL转义LIKE语句

来自分类Dev

在mysql中使用like语句

来自分类Dev

带有like子句的mysql if语句返回null

来自分类Dev

MySQL LIKE关键字未返回预期结果

来自分类Dev

以MySQL LIKE运算子顺序返回结果

来自分类Dev

在MySQL中用IF Condition和LIKE语句替换

来自分类Dev

MySQL:LIKE子句中的Select语句

来自分类Dev

MySQL LIKE 语句支持多查询

来自分类Dev

PhP MySQL NOT LIKE无法返回正确的值

来自分类Dev

使MySQL LIKE仅返回完整单词匹配

来自分类Dev

LIKE不返回结果

来自分类Dev

当设置为等于时,PHP STMT MySQL查询返回LIKE结果

来自分类Dev

MySQL查询准备好的语句不返回任何结果

来自分类Dev

like 语句不返回全文

来自分类Dev

MYSQL-Like语句不适用于特殊字符

来自分类Dev

命名参数不适用于MySql LIKE语句

来自分类Dev

与LIKE和BETWEEN的mysql语句不起作用

来自分类Dev

带有对象数组的javascript中的Mysql Like语句?

来自分类Dev

mysql 中带有 OR 和 Inner join 的 Like 语句

来自分类Dev

在mysql中使用多个like语句选择一列

来自分类Dev

在存储库中优先排列MySQL SELECT / LIKE结果

来自分类Dev

准备好的SQL LIKE语句未返回所有结果

来自分类Dev

使用LIKE的MYSQL查询

来自分类Dev

Mysql LIKE %...% 连同表

来自分类Dev

在MySQL语句中返回\'

来自分类Dev

Mysql IF语句返回问题

来自分类Dev

mysql分组返回结果

来自分类Dev

mysql从更新返回结果