web-dev-qa-db-ja.com

json_aggの特定の列を注文する

Json_agg関数内の行を並べ替えたいのですが。

私はこれを見つけました: PostgreSQL:json_agg内の列を選択

これにより、json_aggの特定の列を選択するための解決策が得られましたが、今度は、集約されたデータに特定の順序を付けたいと思います。 「個別」は機能しますが、「注文者」は機能しません。

json_agg(DISTINCT (colA, colB))

これはしません:

json_agg(DISTINCT (colA, colB) ORDER BY colA ASC, colB ASC)

集計データを並べ替える方法はありますか?

3
Martin Winkel

「「明確」は機能しますが、「注文」は機能しません」が何を意味するのかを正確に理解していないと、エラーが発生します。

エラー:DISTINCTのある集合体では、ORDER BY式は引数リストに指定する必要があります

それは多かれ少なかれ自明です。試す

_json_agg(DISTINCT (colA, colB) ORDER BY (colA, colB))
_

代わりに、json_agg()の個々の列を集計するのではなく、レコードを集計する必要があります。

7
dezso