Php 返回奇数结果的类MySQL语句
当我使用AND或我在查询中的筛选结果(如按价格0和50000)对多个列执行类似MySQL的查询时,将停止工作。如果我从我的LIKE语句中去掉OR,搜索就可以了。如何使用LIKE语句正确搜索多个列 下面是一个忽略价格的非工作语句示例Php 返回奇数结果的类MySQL语句,php,mysql,sql-like,Php,Mysql,Sql Like,当我使用AND或我在查询中的筛选结果(如按价格0和50000)对多个列执行类似MySQL的查询时,将停止工作。如果我从我的LIKE语句中去掉OR,搜索就可以了。如何使用LIKE语句正确搜索多个列 下面是一个忽略价格的非工作语句示例 SELECT * FROM table WHERE Price BETWEEN 0 AND 500000 AND class_id = 1 AND TotalSqFt BETWEEN 0 AND 999999999 AND Acres
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
该语句工作正常,但现在我只能对一列执行类似的查询
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
您混合使用了
和
以及或
运算符。因此,您可以正确地将这些条件括起来,它们将起作用。对于您的或
状况,您可以附上如下内容:
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
您混合使用了
和
以及或
运算符。因此,您可以正确地将这些条件括起来,它们将起作用。对于您的或
状况,您可以附上如下内容:
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
在第一条语句中,当您在最后一个AND之后添加OR时,Mysql将一直运行到运行OR。如果或条件已通过,则所有之前和将忽略。因此,查询无法正确运行 看看这个查询:
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
通过用括号对您喜欢的内容进行分组,它使用AND检查括号内的条件和所有其他条件。因此,查询返回与括号内的条件和所有其他条件相匹配的数据。在第一条语句中,当您在最后一条和之后添加或时,Mysql将一直运行到或。如果或条件已通过,则所有之前和将忽略。因此,查询无法正确运行 看看这个查询:
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
通过用括号对您喜欢的内容进行分组,它使用AND检查括号内的条件和所有其他条件。因此,查询与括号内的条件和所有其他条件匹配的返回数据。注意括号。您应该根据查询逻辑将“或”括起来,注意括号。您应该根据查询逻辑将“或”括起来