首頁 > 資料庫 > mysql教程 > 如何在 DB2 中的群組中建立逗號分隔的值清單?

如何在 DB2 中的群組中建立逗號分隔的值清單?

Linda Hamilton
發布: 2025-01-09 14:36:40
原創
948 人瀏覽過

How Can I Create Comma-Separated Lists of Values from Groups in DB2?

DB2中以群組產生逗號分隔的輸出

DB2 內建函數 LISTAGG 可以將具有相同分組的列值連接起來,並以逗號分隔。這在需要合併分組內資料時非常有用。

例如,假設一個表格包含 ID 和 Role 兩列,其中三行具有相同的 ID 但 Role 值不同。目標是將每個 ID 的 Role 值連接成逗號分隔的清單。

從 DB2 LUW 9.7 開始引入的 LISTAGG 函數可以實現此目標:

<code class="language-sql">SELECT ID, LISTAGG(Role, ', ') AS Roles
FROM myTable
GROUP BY ID;</code>
登入後複製

此查詢將產生所需的輸出:

<code>ID   Roles
----------
4555 2,3,4</code>
登入後複製
登入後複製

值得注意的是,您可以使用 WITHIN GROUP 子句和 ORDER BY 語句指定連接值的順序。這允許更好地控制列出值的順序:

<code class="language-sql">SELECT ID, LISTAGG(Role, ', ') WITHIN GROUP (ORDER BY Role ASC) AS Roles
FROM myTable
GROUP BY ID;</code>
登入後複製

在這種情況下,輸出將為:

<code>ID   Roles
----------
4555 2,3,4</code>
登入後複製
登入後複製

LISTAGG 提供了一種方便的方法來聚合和連接 DB2 中的數據,從而實現高效的基於分組的字串操作。

以上是如何在 DB2 中的群組中建立逗號分隔的值清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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