在某些資料庫應用程式中,需要從表格中檢索每個唯一識別碼的單行,並連接對應的欄位值。例如,給定一個包含以下資料的表格:
ID | 列A | 列B |
---|---|---|
TM67 | 4 | 32556 |
TM67 | 9 | 98200 |
TM67 | 72 | 22300 |
TM99 | 2 | 23009 |
TM99 | 3 | 11200 |
預期的輸出如下:
ID | 列A | 列B |
---|---|---|
TM67 | 4,9,72 | 32556,98200,22300 |
TM99 | 2,3 | 23009,11200 |
在MySQL中,通常使用GROUP_CONCAT聚合函數來實現此目的。但是,PostgreSQL中沒有直接的等效項。
幸運的是,PostgreSQL提供了一些替代機制來達到相同的結果:
<code class="language-sql">SELECT id, string_agg(some_column, ',') FROM the_table GROUP BY id</code>
此方法使用string_agg函數(在PostgreSQL 9.0中引入)將指定列的值聚合到一個逗號分隔的字串中。 GROUP BY子句確保對每個唯一ID分別執行聚合操作。
以上是如何在 PostgreSQL 中連接字段值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!