Oracle DB2的行转列函数

上一篇 / 下一篇  2013-09-03 19:32:18 / 个人分类:数据库

Oracle DB2的行转列函数:LISTAGG()
--将相同userID不同的RoseID值拼接成一个字段显示
代码:
select Userid,listagg(RoseID,',') within GROUP (order by RoseID)  
from temp  
group by Userid
 
用法:
LISTAGG(列名,分隔符) WITHIN GROUP( ORDER BY 列名)
 
用法就像聚合函数一样,通过Group by语句,把每个Group的一个字段,拼接起来。

在不适用Group by语句时候,也可以使用LISTAGG函数:
需要加上over(partition by 列名)
代码: 
sele   Userid,  
       RoseID,  
       listagg(RoseID,',') within GROUP (order by RoseID) over (partition by Userid) NewColumn 
from temp  


TAG: Oracle oracle DB2的字段拼接

 

评分:0

我来说两句

Open Toolbar