首頁 > 資料庫 > mysql教程 > 如何在 Oracle SQL 中將多行聚合為單行?

如何在 Oracle SQL 中將多行聚合為單行?

Patricia Arquette
發布: 2025-01-15 18:34:44
原創
366 人瀏覽過

How Can I Aggregate Multiple Rows into a Single Row in Oracle SQL?

在 Oracle SQL 中將多行合併為一行

Oracle SQL 提供了多種將多行合併為一行的方法。 一種方法使用 WM_CONCAT 函數(注意:在 Oracle 12c 及更高版本中已棄用)。 WM_CONCAT 連接特定欄位中多行的值:

<code class="language-sql">SELECT field1, WM_CONCAT(field2) FROM YourTable GROUP BY field1;</code>
登入後複製

對於 WM_CONCAT 不可用的 Oracle 版本,自訂聚合函數提供了可行的解決方案。 有關建立此類字串聚合函數的詳細指南可以在 Oracle-base.com 等資源中找到。 一個基本範例:

<code class="language-sql">CREATE FUNCTION String_Agg(VALUES VARCHAR2, DELIM VARCHAR2) RETURN VARCHAR2;
-- Function implementation details here</code>
登入後複製

此自訂函數允許字串值聚合:

<code class="language-sql">SELECT field1, String_Agg(field2, ',') FROM YourTable GROUP BY field1;</code>
登入後複製

WM_CONCAT(如果適用)和自訂聚合函數都可以有效地將多行合併為一行,以更簡潔、更有組織的方式呈現資料。

以上是如何在 Oracle SQL 中將多行聚合為單行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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