PostgreSQL ARRAY_AGG()函数是一个聚合函数,它接受一组值并返回一个数组,其中将输入集中的每个值分配给该数组的元素。
用法: ARRAY_AGG(expression [ORDER BY [sort_expression {ASC | DESC}], [...])
ORDER BY子句是自愿性子句。它指定集合中要处理的行的顺序,从而确定结果数组中元素的顺序。它通常与GROUP BY子句一起使用。现在让我们看一些例子。范例1:我们将使用film
,film_actor
和actor
中的表格dvdrental 样本数据库进行示范。在此示例中,我们将使用ARRAY_AVG()函数来查询每部电影的电影标题列表和演员列表,如下所示:
SELECT title, ARRAY_AGG (first_name || ' ' || last_name) actors FROM film INNER JOIN film_actor USING (film_id) INNER JOIN actor USING (actor_id) GROUP BY title ORDER BY title;
输出:
范例2:
在这里,我们将使用ARRAY_AGG()函数来返回电影列表和每部电影的演员列表,并使用以下命令按演员的名字排序:
SELECT title, ARRAY_AGG ( first_name || ' ' || last_name ORDER BY first_name ) actors FROM film INNER JOIN film_actor USING (film_id) INNER JOIN actor USING (actor_id) GROUP BY title ORDER BY title;
输出:
相关用法
- PostgreSQL AVG()用法及代码示例
- PostgreSQL COUNT()用法及代码示例
- PostgreSQL STRING_AGG()用法及代码示例
- 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 – ARRAY_AGG() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。