Oracle聚合连接字符串

本文介绍了一种在数据库中处理字符串的有效方法。针对特定的数据表结构,通过使用wm_concat函数可以实现对相同CODE下的NAME字段进行汇总,形成逗号分隔的字符串。此方法适用于Oracle 10g及以上版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题需求

现有一个数据表,如下:

ID    CODE    NAME

1    A    张三

2    A    李四

3    B    王五

4    C    赵六

5    C    孙七

现要统计成如下的形式:

CODE    NAMES

A    张三, 李四

B    王五

C    赵六,孙七

解决方法

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

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

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

SELECT wm_concat(NAME) FROM TC WHERE ……

转载于:https://www.cnblogs.com/liweis/p/7754071.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值