oracle 单列数据分组合并

oracle由于版本的问题,一些函数不会相互兼容。
当我们在不知道自己的所使用的oracle是什么版本的时候可以通过下面的这个语句查询下在使用具体的函数。

select * from v$version;

在oracle10g中wn_concat()函数是可以正常使用的,但是它没有向上兼容
wn_concat()
简单的语法是 select wn_concat(字段A) from 表名 group by 字段B。
我们将表中的数据安装字段B分组,把相同B数据的A字段用逗号分隔拼在一起。

在oracle11g中就使用listagg(),可以起到和wn_concat()一样的效果,还有一个特点是listagg()函数还可以制定你想要的分隔符
listagg()
简单的语法是 select (listagg(to_char(字段A), ‘,’) whitin group by (order by 字段B)) C from 表名 group by 字段B
whitin group by (order by 字段B) 是 listagg()函数的一部分。

当然oracle还有很多别的方法。。。

猜你喜欢

转载自blog.csdn.net/gavin_wangzg/article/details/78560746