介于两者之间不适用于多个 AND - MYSQL
In between doesn't work with multiple AND's - MYSQL
SELECT price from items Where categoryId = 11724 AND price BETWEEN 10 AND 20
结果:
价格
17.99
18.95
20.0
17.99
18.95
以上查询工作正常,但添加另一个子句未显示所需结果
SELECT price from items
Where categoryId = 11724
AND ( brand = 'Akaso' OR brand = 'Andoer')
and price BETWEEN 10 AND 20
Result: 0 rows found
SELECT price from items
Where categoryId = 11724
AND brand = 'Akaso' OR brand = 'Andoer'
and price BETWEEN 10 AND 20
结果:
价格
17.99
78.95
77.0
80.99
102.95
已尝试为每个子句使用 and (column and column)
。 price
类型是 VARCHAR
CHANGED TO Decimal(10,2)
我哪里做错了?
我没有你的数据,但我觉得一切正常,你的最后一个查询正在尝试这样做:
SELECT price from items
Where (categoryId = 11724
AND brand = 'Akaso') OR (brand = 'Andoer'
and price BETWEEN 10 AND 20)
感谢大家的回复。在将 VARCHAR
类型更改为 Decimal
后,这对我有用:
SELECT price,categoryId,brand from items
Where categoryId = 11724
and (brand = 'Akaso' OR brand = 'Andoer')
and (price BETWEEN 40 AND 50)
SELECT price,categoryId,brand from items
Where (categoryId = 11724)
and (brand = 'Akaso' OR brand = 'Andoer')
and (price BETWEEN 40 AND 50)
SELECT price,categoryId,brand from items
Where categoryId = 11724
and (brand = 'Akaso' OR brand = 'Andoer')
and price BETWEEN 40 AND 50
以下无效:
SELECT price,categoryId,brand from items
Where categoryId = 11724
and brand = 'Akaso' OR brand = 'Andoer'
and (price BETWEEN 40 AND 50)
想知道第三个和第四个查询之间的区别。
SELECT price from items Where categoryId = 11724 AND price BETWEEN 10 AND 20
结果:
价格
17.99
18.95
20.0
17.99
18.95
以上查询工作正常,但添加另一个子句未显示所需结果
SELECT price from items
Where categoryId = 11724
AND ( brand = 'Akaso' OR brand = 'Andoer')
and price BETWEEN 10 AND 20
Result: 0 rows found
SELECT price from items
Where categoryId = 11724
AND brand = 'Akaso' OR brand = 'Andoer'
and price BETWEEN 10 AND 20
结果:
价格
17.99
78.95
77.0
80.99
102.95
已尝试为每个子句使用 and (column and column)
。 price
类型是 VARCHAR
CHANGED TO Decimal(10,2)
我哪里做错了?
我没有你的数据,但我觉得一切正常,你的最后一个查询正在尝试这样做:
SELECT price from items
Where (categoryId = 11724
AND brand = 'Akaso') OR (brand = 'Andoer'
and price BETWEEN 10 AND 20)
感谢大家的回复。在将 VARCHAR
类型更改为 Decimal
后,这对我有用:
SELECT price,categoryId,brand from items
Where categoryId = 11724
and (brand = 'Akaso' OR brand = 'Andoer')
and (price BETWEEN 40 AND 50)
SELECT price,categoryId,brand from items
Where (categoryId = 11724)
and (brand = 'Akaso' OR brand = 'Andoer')
and (price BETWEEN 40 AND 50)
SELECT price,categoryId,brand from items
Where categoryId = 11724
and (brand = 'Akaso' OR brand = 'Andoer')
and price BETWEEN 40 AND 50
以下无效:
SELECT price,categoryId,brand from items
Where categoryId = 11724
and brand = 'Akaso' OR brand = 'Andoer'
and (price BETWEEN 40 AND 50)
想知道第三个和第四个查询之间的区别。