首頁 > 資料庫 > mysql教程 > 如何用PostgreSQL的STRING_AGG取代MySQL的GROUP_CONCAT?

如何用PostgreSQL的STRING_AGG取代MySQL的GROUP_CONCAT?

Patricia Arquette
發布: 2025-01-21 09:17:10
原創
1017 人瀏覽過

How to Replace MySQL's GROUP_CONCAT with PostgreSQL's STRING_AGG?

從 MySQL 的 GROUP_CONCAT 移轉到 PostgreSQL 的 STRING_AGG

MySQL 的 GROUP_CONCAT 函數有效地將多行中的值組合成單一字串。 PostgreSQL 提供了 STRING_AGG 函數來實現相同的結果。

解:

要在 PostgreSQL 資料庫中複製 GROUP_CONCAT 的功能,請在查詢中使用 STRING_AGG 函數。 例如,如果您想要為每個唯一的 some_column 連接名為 id 的欄位中的值,查詢將如下所示:

<code class="language-sql">SELECT id, STRING_AGG(some_column, ',')
FROM the_table
GROUP BY id;</code>
登入後複製

詳細說明:

  • STRING_AGG(some_column, ','):查詢的這部分連接 some_column 欄位中找到的值。 , 指定逗號作為連接值之間的分隔符號。 您可以根據需要將此分隔符號變更為任何其他字元或字串。
  • GROUP BY id:這將根據 id 列對行進行分組。 然後,STRING_AGG 函數分別對每個組進行操作,僅連接同一 id 組內的值。

預期輸出:

查詢將產生類似 MySQL 的 GROUP_CONCAT:

的輸出
<code>id    | string_agg
------+-----------------
TM67  | 4,9,72
TM99  | 2,3</code>
登入後複製

這示範了使用 GROUP_CONCAT 將 MySQL STRING_AGG 函數的功能直接有效地轉換為 PostgreSQL 上下文。

以上是如何用PostgreSQL的STRING_AGG取代MySQL的GROUP_CONCAT?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板