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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。