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;
输出:
相关用法
- PostgreSQL ARRAY_AGG()用法及代码示例
- PostgreSQL AVG()用法及代码示例
- PostgreSQL COUNT()用法及代码示例
- PostgreSQL MAX()用法及代码示例
- PostgreSQL MIN()用法及代码示例
- PostgreSQL SUM()用法及代码示例
- PostgreSQL DENSE_RANK用法及代码示例
- PostgreSQL NULLIF()用法及代码示例
- PostgreSQL Drop用法及代码示例
- PostgreSQL FIRST_VALUE用法及代码示例
- PostgreSQL LAST_VALUE用法及代码示例
- PostgreSQL LEAD用法及代码示例
- PostgreSQL NTILE用法及代码示例
- PostgreSQL CUME_DIST用法及代码示例
- PostgreSQL RANK用法及代码示例
注:本文由纯净天空筛选整理自RajuKumar19大神的英文原创作品 PostgreSQL – STRING_AGG() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。