当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PostgreSQL STRING_AGG()用法及代码示例


PostgreSQL中的STRING_AGG()函数是一个聚合函数,用于连接字符串列表并在字符串之间放置分隔符。

用法:STRING_AGG ( expression, separator [order_by_clause] )

让我们分析以上语法。上面的函数接受两个参数和一个可选的ORDER BY子句。

  • expression是可以解析为字符串的任何有效表达式。
  • separator 是串联字符串的分隔符。

现在让我们看一些示例。例如,我们将使用示例数据库(即dvdrental)。

范例1:
我们将从中查询每部电影的演员姓名列表film 表格使用以下命令:

SELECT
    f.title,
    STRING_AGG (
    a.first_name || ' ' || a.last_name,
        ', '
       ORDER BY
        a.first_name,
        a.last_name
    ) actors
FROM
    film f
INNER JOIN film_actor fa USING (film_id)
INNER JOIN actor a USING (actor_id)
GROUP BY
    f.title;

输出:

范例2:
在此示例中,我们将为每个国家/地区的电子邮件列表country 表。每个列表中的电子邮件均以semi-colon分隔。为此,我们使用以下命令:

SELECT
    country,
    STRING_AGG (email, ';') email_list
FROM
    customer
INNER JOIN address USING (address_id)
INNER JOIN city USING (city_id)
INNER JOIN country USING (country_id)
GROUP BY
    country
ORDER BY
    country;

输出:

相关用法


注:本文由纯净天空筛选整理自RajuKumar19大神的英文原创作品 PostgreSQL – STRING_AGG() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。