listagg v9.7.4新增的聚集函数,行转列

转帖:http://www.db2china.net//home/space.php?uid=35802&do=blog&id=20857

我们曾为拼接不同行中的字段烦恼,学习一下v9.7.4新增的listagg聚集函数 :

A new aggregate function, LISTAGG, has been added. The LISTAGG function aggregates a set of string elements into one string by concatenating the strings. Optionally, a separator string can be provided which is inserted between contiguous input strings. For more information, see  LISTAGG aggregate function .
示例:
db2 => create table tt(grp int, name char(5));
DB20000I  The SQL command completed successfully.
db2 => insert into tt values (1, 'Jim'), (1,'Tom'), (1,'Jane'),(2,'Tony'),(2,'Mike');
DB20000I  The SQL command completed successfully.
db2 => select * from tt;

GRP         NAME
----------- -----
          1 Jim
          1 Tom
          1 Jane
          2 Tony
          2 Mike

  5 record(s) selected.
db2 => select grp, listagg(name, ',') WITHIN GROUP(ORDER BY name) as names from tt group by grp;

GRP         NAMES                                                                                   
----------  ---------------------
          1 Jane ,Jim  ,Tom
          2 Mike ,Tony

2 record(s) selected.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值