ホームページ >データベース >mysql チュートリアル >PostgreSQLでオブジェクトのJSON配列として同じ行から複数の列を返す方法は?
PostgreSQL は、データをオブジェクトの JSON 配列としてクエリおよびフォーマットし、結果を特定の列ごとにグループ化するためのいくつかのアプローチを提供します。 以下に、さまざまな PostgreSQL バージョンのメソッドの内訳を示します。
集約された JSON オブジェクトから特定のキーを削除するには、集約の前に -
演算子を使用します。 オーバーロードされた関数のあいまいさを解決するには、text[]
への明示的なキャストが必要です:
<code class="language-sql">SELECT val2, jsonb_agg(to_jsonb(t.*) - '{id, val2}'::text[]) AS js_34 FROM tbl GROUP BY val2;</code>
jsonb_build_object()
を使用して、キーと値のペアから JSON オブジェクトを構築します。
<code class="language-sql">SELECT val2, jsonb_agg(jsonb_build_object('val3', val3, 'val4', val4)) AS js_34 FROM tbl GROUP BY val2;</code>
ROW 式またはサブクエリで to_jsonb()
を使用して、オブジェクトの配列を生成します。
<code class="language-sql">SELECT val2, jsonb_agg(to_jsonb((val3, val4))) AS js_34 FROM tbl GROUP BY val2;</code>
または:
<code class="language-sql">SELECT val2, jsonb_agg(to_jsonb((SELECT t FROM (SELECT val3, val4) t))) AS js_34 FROM tbl GROUP BY val2;</code>
これらのメソッドは、データを取得して構造化し、値をグループ化し、単一行から複数の列を表すオブジェクトの JSON 配列を作成する効率的な方法を提供します。
以上がPostgreSQLでオブジェクトのJSON配列として同じ行から複数の列を返す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。