wmsys.wm_concat函数,它的作用是以','链接字符 (版本10G以上)
例子如下:
创建表:
create table idtable (id number,name varchar2(30));准备数据: (共六条)
insert into idtable values(10,'ab');
insert into idtable values(10,'bc');
insert into idtable values(10,'cd');
insert into idtable values(20,'hi');
insert into idtable values(20,'ij');
insert into idtable values(20,'mn');检查数据:
select * from idtable;结果:
ID NAME
---------- ------------------------------
10 ab
10 bc
10 cd
20 hi
20 ij
20 mn
开始实验:
>ps< 这里是 order by
1:
select id,wmsys.wm_concat(name) name from idtable group by id结果:
ID NAME
---------- ---------------------------------------------------
10 ab,bc,cd
20 hi,ij,mn 2:
select id,wmsys.wm_concat(name) over (order by id) name from idtable; 结果:
ID NAME
---------- ---------------------------------------------------
10 ab,bc,cd
10 ab,bc,cd
10 ab,bc,cd
20 ab,bc,cd,hi,ij,mn
20 ab,bc,cd,hi,ij,mn
20 ab,bc,cd,hi,ij,mn 3:
select id,wmsys.wm_concat(name) over (order by id,name) name from idtable; 结果:
ID NAME
---------- ------------------------------------------------
10 ab
10 ab,bc
10 ab,bc,cd
20 ab,bc,cd,hi
20 ab,bc,cd,hi,ij
20 ab,bc,cd,hi,ij,mn
>ps< 这里是 partition by
4:
select id,wmsys.wm_concat(name) over (partition by id) name from idtable;结果:
ID NAME
---------- -----------------------------------------------
10 ab,bc,cd
10 ab,bc,cd
10 ab,bc,cd
20 hi,ij,mn
20 hi,ij,mn
20 hi,ij,mn 5:
select id,wmsys.wm_concat(name) over (partition by id,name) name from idtable; 结果:
ID NAME
---------- ------------------------------------------------
10 ab
10 bc
10 cd
20 hi
20 ij
20 mn
3141

被折叠的 条评论
为什么被折叠?



