從 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中文網其他相關文章!