使用电影数据库通常需要汇总每部电影的演员信息。 这涉及将与单个电影关联的多个演员姓名合并到单个列条目中。
PostgreSQL 提供了 string_agg()
函数,非常适合此任务。 这是演示其用法的查询:
<code class="language-sql">SELECT movie, string_agg(actor, ', ') AS actors FROM tbl GROUP BY movie;</code>
此查询:
movie
:指定保存电影标题的列。actor
:指定列出演员姓名的列。string_agg(actor, ', ')
:此函数连接每部电影的演员姓名,并用逗号和空格分隔。GROUP BY movie
:对结果进行分组,确保每部电影一行。string_agg()
函数擅长将多行组合成单个字符串值。 在这里,它为每部电影创建一个以逗号分隔的演员列表。
对于排序的演员列表,请在 ORDER BY
中包含 string_agg()
子句:
<code class="language-sql">string_agg(actor, ', ' ORDER BY actor) AS actors</code>
但是,子查询通常可以提供更好的排序性能。
string_agg()
的优点以上是如何在 SQL 中将每个电影的多个演员姓名合并到一个列中?的详细内容。更多信息请关注PHP中文网其他相关文章!