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