'in(..)'函数在SoQL查询中不起作用

时间:2015-06-15 16:26:02

标签: soql socrata soda

使用SoQL(Socrata查询语言),我们可以使用in(...)函数过滤数据集的值。 使用芝加哥开放数据门户网站在socrata网站上显示了一个示例。

https://data.cityofchicago.org/resource/6zsd-86xi.json?$where=primary_type in('THEFT', 'ROBBERY', 'INTIMIDATION')

但是当我使用同一数据门户的不同数据集尝试此功能时,我得不到答案。这是我使用的SoQL

https://data.cityofchicago.org/resource/uupf-x98q.json?$where=police_district in('12','24')

我收到以下错误。

{
  "code" : "query.compiler.malformed",
  "error" : true,
  "message" : "Error, could not parse SoQL query \"select * from #uupf-x98q where police_district in('12','24')\"",
  "data" : {
    "query" : "select * from #uupf-x98q where police_district in('12','24')"
  }
}

1 个答案:

答案 0 :(得分:0)

如果是第二次查询,则通过filtered view访问它,这限制了您可以使用该API端点执行的一些操作。如果您点击指向该数据集的API文档的链接(“导出” - >“SODA API” - >“API文档”),它会将您带到dataset-level API docs,您将获得更多成功

对于第一个查询,我建议您迁移到new API endpoint,在那里您会发现性能要好得多。它应该像在查询中交换数据集标识符或基本URL一样简单。