我需要在我的项目中使用OR条件创建一个狮身人面像查询。但是给出一个类似
的OR条件select cost FROM transactionsChart WHERE cost=25 OR cost=5;
不起作用。它返回类似
的错误ERROR 1064 (42000): sphinxql: syntax error, unexpected OR, expecting $end near 'OR cost=5'
有人能帮我吗……
提前谢谢
Sphinx不支持WHERE子句中的OR
,只支持AND
。
对于您的特定示例,可以使用IN
语法
sphinxql> SELECT cost FROM transactionsChart WHERE cost IN (5,25);
或者更一般的解决方案是使用虚拟属性
sphinxql> SELECT cost, IF(cost=25 OR cost=5,1,0) AS filter
FROM transactionsChart WHERE filter = 1;