DB2类似于行转列的函数listagg

本资料无预览

如感兴趣请购买后下载

立即下载

资料简介:
今天看到了一个博客:原文:http://www.db2china.net/home/space.php?uid=41247&do=blog&id=13044
发现了DB2中的一个listagg函数,真的有意思,在这里发挥了一下。
SQL:
SELECT stno,LISTAGG(subname||' '||score,',') WITHIN GROUP(ORDER BY 1) info
  FROM (VALUES ('NO01','语文',90) , ('NO01','数学',99) , ('NO01','英语',98) ,                                                         
               ('NO02','语文',96),('NO02','数学',95)) AS t(stno,subname,score)
GROUP BY stno; 

结果:
STNO    INFO
-------    -----------
NO01    语文 90,数学 99,英语 98
NO02    语文 96,数学 95

与大家分享一下。
2012-07-23
浏览17508
下载0

已下载用户的评价

您还未下载该资料,不能发表评价;
查看我的 待评价资源
ppjava2009ppjava2009系统工程师用友汽车信息科技(上海)有限公司2013-10-24
没用
好了,到这里就需要总结一下了! 本篇提供了关于DB2中多行合并的三种方法,分别是: |-- 版本<9.7 递归CET (8楼),提供的有点晚了 |-- 版本 >=9.7 listagg(1楼)与xmlagg(5楼)
ppjava2009ppjava2009系统工程师用友汽车信息科技(上海)有限公司2013-10-24
没用
贴一个能在低于v9.7版本中能运行的递归查询表达式:[attach]117335[/attach]
orclflyorclfly软件开发工程师sl2013-10-23
没用
恩,不错,学习一下,刚开始弄DB2
ppjava2009ppjava2009系统工程师用友汽车信息科技(上海)有限公司2012-07-24
没用
另外一种方法还要研究一下,明天贴出
ppjava2009ppjava2009系统工程师用友汽车信息科技(上海)有限公司2012-07-24
没用
按照leo的提示,我试着使用这两种方法: SQL : SELECT stno,REPLACE(REPLACE(XML2CLOB(XMLAGG(XMLELEMENT(NAME stno,subname||' '||score||' , '))),''),'') info FROM (VALUES ('NO01','语文',90) , ('NO01','数学',99) , ('NO01','英语',98) , ('NO02','语文',96),('NO02','数学',95)) AS t(stno,subname,score) GROUP BY stno; 结果: STNO INFO ------- ---------------------------------- NO01 语文 90 , 数学 99 , 英语 98 , NO02 语文 96 , 数学 95 ,
ppjava2009ppjava2009系统工程师用友汽车信息科技(上海)有限公司2012-07-24
没用
[quote]推荐2中方法: 1) 使用xml函数 xmlagg 2) 使用类似于ORACLE 中的CONNECT 结构(db2 中也有递归语句) ... [size=2][color=#999999]leo 发表于 2012-7-23 16:50[/color] [url=http://www.db2china.net/club/redirect.php?goto=findpost&pid=154764&ptid=25045][img]http://www.db2china.net/club/images/common/back.gif[/img][/url][/size][/quote]谢谢!
leo_wynleo_wyn商业智能工程师Security2012-07-23
没用
推荐2中方法: 1) 使用xml函数 xmlagg 2) 使用类似于ORACLE 中的CONNECT 结构(db2 中也有递归语句)
leo_wynleo_wyn商业智能工程师Security2012-07-23
没用
推荐2中方法: 1) 使用xml函数 xmlagg 2) 使用类似于ORACLE 中的CONNECT 结构(db2 中也有递归语句)

贡献者

ppjava2009系统工程师,用友汽车信息科技(上海)有限公司
X社区推广