0

私はクラスの小さな Android プロジェクトに取り組んでいます。その中で、ロサンゼルスにあるオープンな Socrata データセットに対してクエリを作成しています。

URL は次のとおりです 。 -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 に置き換えるか、単純に省略して昇順で並べ替えることができます。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~

URL のクエリに「order=issue_date DESC」を追加するために、&$、$&、& のみ、$ のみのさまざまな組み合わせを試しました。

プレーンな '&' の結果は、"code" : "query.compiler.malformed"、"error" : true、"message" : "Error, could not parse SoQL query ......." および完全なリスト残りの URL

「&$」の方がやや良いようです。エラーのみが表示されます:「エラー」:真、「メッセージ」:「認識されない引数[$order = issue_date DESC]」

また、issue_date と DESC の間で「+」を使用するか、「DESC」を含めないようにしましたが、「認識されない引数 [入力したものは何でも]」が表示されるだけです。

Socrata のテクニカル ライターへの注意: 複数のパラメーターを使用して実際のクエリを作成する例はありません。いくつかは害はありません。

また、hurl-それは役に立たなかった: 私はそこにマルチパラメータクエリを作成しました. URL は次のとおりです。

https://soda.demo.socrata.com/resource/4tka-6guv ?$order=マグニチュード

DESC&$select=場所、マグニチュード

したがって、 $order の DESC 方向がその句にどのように関連付けられているかわかりません。しばらく遊んでみましたが、まったくわかりませんでした。

この SoQL に詳しい人はいますか?

Socrata の Android API ライブラリを見つけましたが、私はまだ Android と Socrata に慣れていないので、しばらく先延ばしにしようと考えていました。この 1 つのクエリだけが必要です。たぶん、これではなく、それを理解するために最後の 2 時間を費やすべきだったのかもしれません。

ありがとう。

4

1 に答える 1

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 エンコードが間違っているのではないでしょうか? もう 1 つの注意点は、クエリ文字列の任意の場所に $order 句を標準の URL パラメーターとして追加できることです。

于 2015-03-09T17:03:39.723 に答える