ホームページ > データベース > mysql チュートリアル > PostgreSQL でデータを連結する方法: string_agg() ガイド?

PostgreSQL でデータを連結する方法: string_agg() ガイド?

Linda Hamilton
リリース: 2025-01-21 09:11:10
オリジナル
662 人が閲覧しました

How to Concatenate Data in PostgreSQL: A string_agg() Guide?

string_agg() を使用した PostgreSQL でのデータ連結のマスター

データベース管理では、複数の行のデータを 1 つの文字列に結合するのが一般的なタスクです。 MySQL は便利な GROUP_CONCAT 関数を提供しますが、PostgreSQL は同様に強力な string_agg() 関数を提供します。 このガイドでは、string_agg() を使用して同じ結果を達成する方法を説明します。

PostgreSQL ソリューション: string_agg()

PostgreSQL 9.0 より前では、GROUP_CONCAT に直接相当するものは利用できませんでした。 ただし、string_agg() はこのギャップを埋め、ユーザー指定の区切り文字を使用して列の値を効率的に連結します。

構文と使用法

string_agg() 関数は次の単純な構文に従います。

<code class="language-sql">string_agg(expression, delimiter)</code>
ログイン後にコピー
  • 式: 連結される列または式。
  • delimiter: 連結された値の間の区切り文字 (省略した場合のデフォルトはカンマ)。

具体例

元の質問で説明されているテーブルを想定してみましょう。次のクエリは、string_agg() の動作を示しています。

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

このクエリは次の出力を生成します:

<code>TM67 | 4,9,72
TM99 | 2,3</code>
ログイン後にコピー

重要な考慮事項

  • string_agg() は列だけでなく、あらゆる式で機能します。
  • 区切り文字はオプションです。デフォルトではカンマが使用されます。
  • 連結された文字列内の値の重複を避けるには、DISTINCT 関数内で string_agg() キーワードを使用します。

このガイドでは、PostgreSQL でデータを連結するための明確かつ簡潔な方法を提供し、MySQL の GROUP_CONCAT に代わる強力な代替手段を提供します。

以上がPostgreSQL でデータを連結する方法: string_agg() ガイド?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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