在文档中它仅提及AND和NOT。 我尝试使用OR的原因是将大型结果集分解为多个查询,并确保查询不会失败。
例如: 此查询返回一个结果:
SELECT post_id FROM stream WHERE(source_id ='100000462790227')AND strpos(lower(message),'sweet')> = 0 AND(filter_key ='others')
但是当我在过滤器键上添加OR时,我得到了空结果
SELECT post_id FROM stream WHERE(source_id ='100000462790227')AND strpos(lower(message),'sweet')> = 0 AND(filter_key ='others'OR filter_key ='nf')
是OR,还是我做错了什么?
答案 0 :(得分:1)
我终于明白了核心问题是什么。 流表filter_key'other'和'owner'仅适用于一个source_id。 我的原始查询在多个source_id上也有OR(例如(source_id ='100000462790227'OR source_id ='12345670')。
此组合返回空结果!!
答案 1 :(得分:0)
以下是我的结论和意见:
FQL支持第一个“OR”。
我看到一个问题“图谱API资源管理器”在iOS SDK调用成功时失败了
如果您使用“LIMIT X”限制呼叫,其中X小于100,您也会在第二个查询中得到答案。关于大结果集的问题上有很少的帖子,什么是正确的限制(我读的那些都是基于试验和错误)。