LISTAGG窗口函数示例

介绍:WM_CONCAT在12版本后已经被淘汰了,有可能报lob这样的问题,实际检查数据,数据不存在问题,有可能算是Oracle的bug吧,11版本后新增了listagg函数,用法总结

写法规范:

         1.LISTAGG(字段, 连接符) WITHIN GROUP (ORDER BY 字段)  --这是非开窗的写法需要你自己加group by

         2.LISTAGG(字段, 连接符) WITHIN GROUP (ORDER BY 字段)  over(partition by 分组字段) --这是开窗的写法

           注:1,2两种写法请注意返回的类型是varchar2类型,也是说最大长度是4000,字符串长度要求不大可以用用

        3.xmlagg(xmlparse(content 字段(也可以是多字段拼接)||连接符 wellformed) order by 字段).getclobval()

           注:这里返回的是clob类型,适合长度比较大的字符串拼接,xmlagg尝试下,不给加开窗over,那么就写法上就比较累赘了,必要时需要考虑下性能问题

 

参考:http://docs.amazonaws.cn/zh_cn/redshift/latest/dg/r_Examples_of_LISTAGG_WF.html

           https://www.cnblogs.com/interesting-whh/p/11090796.html

           https://www.cnblogs.com/jichunhu/p/8930850.html

           https://blog.csdn.net/rczrj/article/details/74977010

           https://developer.aliyun.com/devask/308702.html

posted @ 2020-08-10 16:49  小窝蜗  阅读(441)  评论(0)    收藏  举报