ホームページ > データベース > mysql チュートリアル > MySQL の GROUP_CONCAT を PostgreSQL の STRING_AGG に置き換えるにはどうすればよいですか?

MySQL の GROUP_CONCAT を PostgreSQL の STRING_AGG に置き換えるにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-21 09:17:10
オリジナル
1016 人が閲覧しました

How to Replace MySQL's GROUP_CONCAT with PostgreSQL's STRING_AGG?

MySQL の GROUP_CONCAT から PostgreSQL の STRING_AGG への移行

MySQL の GROUP_CONCAT 関数は、複数の行の値を単一の文字列に効率的に結合します。 PostgreSQL は、同じ結果を達成するための STRING_AGG 関数を提供します。

解決策:

PostgreSQL データベースで GROUP_CONCAT の機能を複製するには、クエリ内で STRING_AGG 関数を使用します。 たとえば、some_column という名前の列の値を一意の id ごとに連結する場合、クエリは次のようになります。

<code class="language-sql">SELECT id, STRING_AGG(some_column, ',')
FROM the_table
GROUP BY id;</code>
ログイン後にコピー

詳細な説明:

  • STRING_AGG(some_column, ','): クエリのこの部分は、some_column 列で見つかった値を連結します。 , は、連結された値の間の区切り文字としてカンマを指定します。 必要に応じて、この区切り文字を他の文字または文字列に変更できます。
  • GROUP BY id: id 列に基づいて行をグループ化します。 STRING_AGG 関数は各グループに対して個別に動作し、同じ id グループ内でのみ値を連結します。

期待される出力:

クエリは、MySQL の GROUP_CONCAT:

で得られるものと同様の出力を生成します。
<code>id    | string_agg
------+-----------------
TM67  | 4,9,72
TM99  | 2,3</code>
ログイン後にコピー

これは、GROUP_CONCAT を使用して、MySQL STRING_AGG 関数の機能を PostgreSQL コンテキストに直接効果的に変換する方法を示しています。

以上がMySQL の GROUP_CONCAT を PostgreSQL の STRING_AGG に置き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート