json集約を使用しているサブクエリの結果を並べ替えるにはどうすればよいですか?Postgresql jsonb_aggサブクエリ並べ替え
私はこのようなスキーマを持っていた場合:
CREATE TABLE plans(id integer NOT NULL, name character varying(255));
CREATE TABLE plan_items (id integer NOT NULL, plan_id integer NOT NULL, expected_at date, status integer);
を私はplan_itemsを集約していますが、サブクエリによって、JSONの列になります。このよう :
SELECT
plans.id,
plans.name,
jsonb_agg((SELECT pi_cols FROM
(SELECT plan_items.id, plan_items.expected_at, plan_items.status) pi_cols
)) AS plan_items_data
FROM
plans
INNER JOIN plan_items ON plan_items.plan_id = plans.id
GROUP BY
plans.id,
plans.name
ORDER BY plans.id;
JSONの集計は期待通りに働いて、私に私が必要とする結果が得られています。 OK。 しかし、私は結果を注文することはできません。また
jsonb_agg((SELECT pi_cols FROM
(SELECT plan_items.id, plan_items.expected_at, plan_items.status ORDER BY plan_items.expected_at) pi_cols
)) AS plan_items_data
とを::
は、私が試した
jsonb_agg((SELECT pi_cols FROM
(SELECT plan_items.id, plan_items.expected_at, plan_items.status) pi_cols ORDER BY pi_cols.expected_at
)) AS plan_items_data
しかし、これらのどれも解決しません。
アイデア?
:: 'jsonb_agg(plan_items.expected_atによって...順)' – Abelisto