gpt4 book ai didi

mysql - 如何在mysql中使用范围值搜索

转载 作者:行者123 更新时间:2023-12-01 00:27:59 25 4
gpt4 key购买 nike

我卡在了范围搜索查询上。请看下面的例子:

SELECT * FROM product where status='A' and subcat_id=5 AND product.price < 50 AND  product.price BETWEEN 50 AND 100 AND category = "male"

在上面的示例中,它不会返回低于 50 的记录,但它们在数据库中。

如果我像下面的第二个例子那样尝试:

SELECT * FROM product where status='A' and subcat_id=5 AND product.price < 50 OR  product.price BETWEEN 50 AND 100 AND category = "male"

它返回所有不在男性类别下但小于 50 的记录

最后我想获得范围小于 50 或介于 50 到 100 之间但仅限男性类别的记录。

感谢您的建议。

最佳答案

AND 的优先级高于 OR。您的查询解释如下:

SELECT col1, col2, ..., coln
FROM product
WHERE (status='A' AND subcat_id=5 AND product.price < 50) OR
(product.price BETWEEN 50 AND 100 AND category = 'male')

您需要在适当的位置插入括号以正确分组术语。剩下的唯一问题就是将它们放在哪里。

我想你的意思是:

SELECT col1, col2, ..., coln
FROM product
WHERE status='A'
AND subcat_id=5
AND (
product.price < 50 OR
(product.price BETWEEN 50 AND 100 AND category = 'male')
)

这将显示所有类别的 50 岁以下的产品,以及男性类别的 50 到 100 岁之间的产品。

关于mysql - 如何在mysql中使用范围值搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10590621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com