當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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