且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Oracle聚合连接字符串

更新时间:2022-02-06 23:48:41

问题需求

现有一个数据表,如下:

ID    CODE    NAME

1    A    张三

2    A    李四

3    B    王五

4    C    赵六

5    C    孙七

现要统计成如下的形式:

CODE    NAMES

A    张三, 李四

B    王五

C    赵六,孙七

解决方法

最先想到的是分组,利用聚合函数,而聚合函数如AVG、SUM等都是计数、统计使用的,操作的对象基本都是数字。

对于字符串的操作在9g的时候,只能编写较为复杂的函数来解决,参考方法:http://blog.csdn.net/haiross/article/details/50439687

从10g开始,有了一新的内置函数,wm_concat可轻松解决:

SELECT wm_concat(NAME) FROM TC WHERE ……