在 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中文网其他相关文章!