映画データベースを使用する場合、多くの場合、各映画の俳優情報を要約する必要があります。 これには、1 つの映画に関連付けられた複数の俳優名を 1 つの列エントリにマージすることが含まれます。
PostgreSQL は、このタスクに最適な string_agg()
関数を提供します。 以下はその使用法を示すクエリです:
SELECT movie, string_agg(actor, ', ') AS actors FROM tbl GROUP BY movie;
このクエリ:
movie
: 映画のタイトルを含む列を指定します。actor
: 俳優名をリストする列を指定します。string_agg(actor, ', ')
: この関数は、各映画の俳優名をカンマとスペースで区切って連結します。GROUP BY movie
: 結果をグループ化し、ムービーごとに 1 行を確保します。string_agg()
関数は、複数の行を 1 つの文字列値に結合することに優れています。 ここでは、各映画の俳優のカンマ区切りリストを作成します。
ソートされたアクター リストの場合、ORDER BY
内に string_agg()
句を含めます:
string_agg(actor, ', ' ORDER BY actor) AS actors
ただし、多くの場合、サブクエリの方がソートのパフォーマンスが向上します。
string_agg()
以上がSQL で複数の俳優名を映画ごとに 1 つの列に結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。