【问题标题】:Socrata: How do I add the $order clause to a query?Socrata:如何将 $order 子句添加到查询中?
【发布时间】:2015-03-08 06:27:42
【问题描述】:

我正在为一个班级工作一个小型 Android 项目。 在其中,我正在针对洛杉矶的一个开放 Socrata 数据集构建一个查询。

这是网址: https://data.lacity.org/resource/yv23-pmwf.json?%24select=zip_code%2Cissue_date%2Caddress_start%2Caddress_end%2Cstreet_name%2Cstreet_suffix%2Cwork_description%2Cvaluation&%24where=issue_date%3E%3D%272015-02-25T00%3A00%3A00%27%20AND%20zip_code%3D90291

这行得通。

但我无法弄清楚会“订购”结果的添加是什么。 Socrata 文档是这样说的:

~~~~~~~~~~~~~~~~~~~~~~~~~~$order参数~~~~~~~~~~~~~~~~~~ ~~~

$order 参数确定应如何对结果进行排序,使用指定列中的值,类似于 SQL ORDER BY。排序可以按升序或降序执行,默认为升序,但您也可以使用 DESC 反转顺序。

例如,按震级对地震进行降序排序:

https://soda.demo.socrata.com/resource/4tka-6guv?$order=magnitude DESC

我们可以通过将 DESC 替换为 ASC 或简单地省略它来按升序对它们进行排序。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~

我尝试了 &$, $&, just &, just $, 的各种组合来追加 "order=issue_date DESC" 到 URL 的查询。

一个普通的“&”会导致 “代码”:“query.compiler.malformed”, “错误”:是的, "message" : "错误,无法解析 SoQL 查询......." 以及 URL 其余部分的完整列表

'&$' 似乎稍微好一些。我只得到错误: “错误”:是的, "message" : "无法识别的参数 [$order=issue_date DESC]"

我也在 issue_date 和 DESC 之间尝试了一个“+”,或者不包括“DESC”,但我只是得到“无法识别的参数 [无论我输入什么]

Socrata 的技术作者请注意:您的示例都没有演示如何构建具有多个参数的实际查询。有几个不会受伤。

此外,hurl-it 没用:我在那里构建了一个多参数查询,它可以执行我想要的操作(但在他们的样本集上),除了它将 $order 放在前面,在 $select 之前,并且显示结果 URL 如下:

https://soda.demo.socrata.com/resource/4tka-6guv?$order=magnitude

DESC&$select=位置、幅度

所以我不知道 $order 的 DESC 方向是如何附加到该子句的。玩了一会儿,还是没搞明白。

有人熟悉这个 SoQL 吗?

我找到了 Socrata 的 Android API 库,但我对 Android 和 Socrata 还是很陌生,我想我会推迟一段时间。只需要这个查询。也许我应该在过去的两个小时里试图弄清楚这一点,而不是这个。

谢谢。

【问题讨论】:

    标签: android sorting socrata


    【解决方案1】:

    我不确定您为什么对 $order 子句有疑问。如果我接受您的查询(为便于阅读而解码),我只需将 order 子句附加为 &$order=issue_date DESC。所以这是对我来说很好的完整查询:

    https://data.lacity.org/resource/yv23-pmwf.json?$select=zip_code,issue_date,address_start,address_end,street_name,street_suffix,work_description,valuation&$where=issue_date>='2015-02-25T00:00:00' AND zip_code=90291&$order=issue_date DESC
    

    也许您的 URL 编码不正确?另外需要注意的是,您可以将 $order 子句作为标准 URL 参数附加到查询字符串的任何位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 2011-03-17
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多