ホームページ > データベース > mysql チュートリアル > SQL の GROUP BY 句を使用して複数のデータ行を 1 つの行に結合するにはどうすればよいですか?

SQL の GROUP BY 句を使用して複数のデータ行を 1 つの行に結合するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-15 08:58:44
オリジナル
545 人が閲覧しました

How Can I Combine Multiple Rows of Data into a Single Row Using SQL's GROUP BY Clause?

GROUP BY を使用して複数行のデータを 1 行に結合します

データ処理中に、各行が一意のエンティティを表し、特定の列をこれらのエンティティ間で統合する必要があるテーブルが発生することがあります。これは、特定の列の複数の結果行を 1 つの行に結合する必要がある場合に発生します。

「ActorsInfo」というテーブルがあり、「Movie」と「Actor」という 2 つの列があるとします。各行は、映画とそれに関連する俳優の組み合わせを表します。目標は、このデータを、「Movie」列と、各映画のすべての俳優のカンマ区切りリストを含む「ActorList」列を含む新しいテーブルに変換することです。

このためには、SQL の GROUP BY 句が便利です。 GROUP BY を使用すると、1 つ以上の列の値に基づいて行をグループ化し、集計関数を適用して各グループ内の概要情報を計算できます。

ここで重要なのは、string_agg() 集計関数です。指定した列の値を、選択した区切り文字で区切って連結します。この場合の構文は次のとおりです:

<code class="language-sql">SELECT Movie, string_agg(Actor, ', ') AS ActorList
FROM ActorsInfo
GROUP BY Movie;</code>
ログイン後にコピー

SELECT 句と GROUP BY 句の両方で「Movie」を指定して映画タイトルごとに行をグループ化し、カンマで区切られた Actor 値を連結して ActorList 列を計算します。

結果は、各行が一意の映画を表し、「ActorList」列にその映画に関与したすべての俳優の完全なリストが含まれる新しいテーブルになります。

以上がSQL の GROUP BY 句を使用して複数のデータ行を 1 つの行に結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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