我正在为一个班级开设一个小型Android项目。 在其中,我正在建立一个针对洛杉矶开放式Socrata数据集的查询。
这很有效。
但是我无法弄清楚增加的是“命令”结果。 Socrata文件说明了这一点:
~~~~~~~~~~~~~~~~~~~~~~~~~~ $ order参数~~~~~~~~~~~~~~~~~ ~~~
$ order参数使用指定列中的值确定结果的排序方式,类似于SQL ORDER BY。排序可以按升序或降序执行,默认值为升序,但您也可以使用DESC撤消订单。
例如,按大小按降序对地震进行排序:
https://soda.demo.socrata.com/resource/4tka-6guv?$ order = magnitude DESC
我们可以通过用ASC替换DESC或者简单地省略它来按升序对它们进行排序。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
我尝试了& $,$&,just&,只是$的各种组合来追加 “order = issue_date DESC”到URL的查询。
简单'&'结果是 “code”:“query.compiler.malformed”, “错误”:是的, “message”:“错误,无法解析SoQL查询.......” 以及网址其余部分的完整列表
'& $'似乎要好一些。我只收到错误: “错误”:是的, “message”:“无法识别的参数[$ order = issue_date DESC]”
我还在issue_date和DESC之间尝试过'+',或者不包括'DESC',但我只是得到'无法识别的参数[无论我输入什么]
Socrata技术作者的注意事项:您的示例都没有演示使用多个参数构建实际查询。有些人不会受伤。
另外,它是无用的:我在那里构建了一个多参数查询,它做了我想要的(但在他们的样本集上),除了它在$ select之前将$ order放在前面,并且显示结果URL,如下所示:
https://soda.demo.socrata.com/resource/4tka-6guv?$顺序=大小
DESC& $ select = location,magnitude
所以我不知道$ order的DESC方向是如何附加到该子句的。玩了一段时间,但从未想过它。
那些熟悉这个SoQL的人?
我找到了Socrata的Android API库,但我仍然是Android和Socrata的新手,并且认为我会把它关闭一段时间。只需要这一个查询。也许我应该花费最后两个小时试图弄明白而不是这个。
感谢。
答案 0 :(得分:0)
我不确定您为什么遇到$ 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参数附加到查询字符串中的任何位置。