oracle 的列转行函数 listagg()

当你的表X中有A,B两列,数据如下

A  B

a  1

a  2

a  3

b  1

b  2

b  3

想让数据以 a|1|2|3 , b|1|2|3 格式显示可使用listagg()

1、使用listagg() + group by

select A,B,listagg(B,'|') within GROUP (order by A)  C from X group by A;

2、使用listagg() + over(partition by ?)

select A,B listagg(B,'|') within Group(order by A) over(partition by A)  C from X;

 

posted @ 2017-04-14 09:26  迷人的智慧  阅读(20194)  评论(0编辑  收藏  举报