Oracle DB2的行转列函数
上一篇 /
下一篇 2013-09-03 19:32:18
/ 个人分类:数据库
--将相同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
相关阅读:
- 临时表空间的管理与受损恢复 (xin_晴, 2013-6-17)
- 调整联机重做日志大小(change redo log size) (xin_晴, 2013-6-25)
- 关于Oracle数据库优化的几点总结 (xin_晴, 2013-6-26)
- Oracle 开发人员分析SQL 执行计划的关注点 (xin_晴, 2013-6-28)
- oracle 帐号scott被锁定,如何解锁? (BadChild, 2013-7-09)
- oracle 帐号scott被锁定,如何解锁? (BadChild, 2013-7-09)
- 如何在LoadRunner中监控oracle数据库 (地壳, 2013-7-31)
- 删除数据库表中重复数据的总结(oracle) (zaza9084, 2013-8-20)
- oracle数据库恢复与备份 (hunterno4, 2013-8-31)
收藏
举报
TAG:
Oracle
oracle
DB2的字段拼接