如何编写带有OR条件的SPHINX查询条件、OR、SPHINX

2023-09-03 14:33:02 作者:か安颜

我需要在我的项目中使用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'
CocosCreator组件化编程的探索

有人能帮我吗……

提前谢谢

推荐答案

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;