`

wm_concat和listagg用法,合并行数据

 
阅读更多

方法一 wn_concat() 函数

1、把以下图中Name一样的数据合并为一条,而且NO的值要这样显示如 C.1,C.2

2、实现这种效果的操作如下,先把Name的值进行分组(group by),再把NO的值用 wm_concat()函数合并起来(注意:记得要to_char(),要不然数据显示不出来)

 

方法二 listagg() 函数

 

第一步和上面的一致

使用 listagg()函数 要把within group(order by s.no) 加上,它们是一体的

 

如果不能用执行下列脚本:

  1. SQL>@$ORACLE_HOME\RDBMS\ADMIN\owmctab.plb;  
  2. SQL>@$ORACLE_HOME\RDBMS\ADMIN\owmaggrs.plb  
  3. SQL>@$ORACLE_HOME\RDBMS\ADMIN\owmaggrb.plb
分享到:
评论

相关推荐

    ORA-00904: "WM_CONCAT": 标识符无效

    WM_CONCAT是Oracle 10g及更早版本中用于字符串合并的一个非标准函数,但在11g版本中被废弃,取而代之的是新的标准SQL聚合函数LISTAGG。 在Oracle 11g R2及更高版本中,WM_CONCAT函数不再可用,因此在19c中遇到这个...

    wm_concat函数DDL.zip

    在Oracle数据库中,`wm_concat`函数曾是一个非常实用的工具,用于将多个行的数据合并成单个字符串,尤其在需要进行数据汇总时非常方便。然而,从Oracle 11g版本开始,出于性能和安全性的考虑,Oracle官方取消了这个...

    ORA-00904 WMSYS.WM_CONCAT标识符无效解决方案

    在Oracle 10g及更早版本中,WMSYS.WM_CONCAT是一个实用的内置函数,允许用户将多个字符串合并成一个单一的字符串,类似于其他数据库系统中的CONCAT或者STRING_AGG函数。然而,由于性能和兼容性的问题,Oracle在11gR2...

    wm_concat函数所需资源包

    在Oracle数据库环境中,`WM_CONCAT`函数是一个非常实用的工具,用于将多个行的数据合并成单个字符串。然而,自Oracle 11g R2版本开始,这个函数被标记为弃用,导致许多用户在使用时遇到问题。标题中的"wm_concat函数...

    自写函数用于替换wm_concat函数.zip

    在Oracle数据库中,`WM_CONCAT`函数是一个非常实用的工具,它允许我们将多个行的数据合并成一个字符串,但是这个函数在Oracle 11g R2版本之后被标记为弃用,不再推荐使用。为了应对这个问题,开发者们经常需要自定义...

    Oracle重建WMSYS用户及WMSYS.WM_CONCAT函数

    然而,值得注意的是,由于WM_CONCAT已被弃用,长期解决方案可能是转向使用Oracle推荐的替代方法,比如LISTAGG函数,它提供了类似的功能,而且在新版本中得到支持。 总的来说,理解和处理"ORA-00904"错误以及重建...

    oracle—SQL技巧之(二)WMSYS.WM_CONCAT函数实现多行记录用逗号拼接在一起

    在Oracle数据库中,有时我们需要将多行记录合并成一个单一的字符串,以便于...不过,需要注意的是,从Oracle 11g R2版本开始,推荐使用`LISTAGG`函数代替`WM_CONCAT`,因为它更稳定,且支持更复杂的分组和排序操作。

    owmaggrb owmaggrs owmctab

    在Oracle数据库中,`wm_concat`函数曾是一个非常实用的工具,用于将多个行的数据合并成单行,但在Oracle 11g R2版本之后,由于安全性和性能方面的考虑,官方将其移除并推荐使用其他替代方法。这个问题在标题...

    【Oracle】LISTAGG函数的使用.pdf

    Oracle LISTAGG 函数是 Oracle 11.2 中引入的一种新特性,主要功能类似于 wmsys.wm_concat 函数,即将数据分组后,把指定列的数据再通过指定符号合并。LISTAGG 函数有两个参数:要合并的列名和自定义连接符号。 ...

    oracle语法大全

    总结起来,Oracle提供了多种方法来合并多行记录的字符串,如`LISTAGG`和`WM_CONCAT`,以及自定义的解决方案。选择哪种方法取决于你的具体需求,包括数据量、是否需要排序、使用的Oracle版本等因素。掌握这些技巧将极...

    owmctab.plb、owmaggrs.plb、owmaggrb.plb

    1. **使用其他内置函数**:Oracle推荐使用"LISTAGG"函数来代替"WM_CONCAT","LISTAGG"可以按分组聚合数据并返回一个字符串。例如: ```sql SELECT LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY column_name...

    oracle列合并的实现方法

    在使用这些方法时,要特别注意数据类型、字符集以及可能存在的性能问题,如`WM_CONCAT`在大数据量时可能会遇到内存溢出的问题,而`LISTAGG`则受到`GROUPING SETS`或`ROLLUP`的限制。在选择最佳方法时,需要综合考虑...

    聚集函数(自定义分隔符拼接字符串)

    在包体中,我们需要定义`string_agg_type`的初始化方法(`init`)和合并方法(`merge`),以及返回结果的方法(`result`)。 ```sql CREATE OR REPLACE PACKAGE BODY string_agg_pkg AS TYPE string_agg_t IS ...

Global site tag (gtag.js) - Google Analytics