首页新闻找找看学习计划

请教:在oracle或sql中如何将字符串去掉重复并自动整理归类

0
悬赏园豆:10 [待解决问题]

现有字符串实例如下:

A=100 B=100 C=250 D=200 E=100 F=100 G=100

希望转换为如下格式:

100(C=250,D=200)

艾新的主页 艾新 | 菜鸟二级 | 园豆:202
提问于:2015-04-08 10:54
< >
分享
所有回答(1)
0

(key,value)-->(A,100),(B,100)
你的意思是不是按value进行分类? 分类后对key有没有什么要求?

若没有要求,可以试一下group by 语句:
SELECT * FROM tablename GROUP BY value;
结果:

A 100
C 200
E 250

 

若要对key进行合并,mysql可以跟下面这样,oracle可以使用max函数,或者自己写个函数解决。

SELECT g.value,GROUP_CONCAT(g.key) as xxx FROM groupby_value g GROUP BY value

结果:

100 A,B,D,F,G
200 C
250 E

 

林嘉俊 | 园豆:206 (菜鸟二级) | 2015-04-09 15:02

上面表的名字和字段名字都是我自己随便定义的,你换成你自己的就可以了

支持(0) 反对(0) 林嘉俊 | 园豆:206 (菜鸟二级) | 2015-04-09 15:03

你好!我的数据是一串字符串形式"A=100,B=100,C=250,D=200,E=100,F=100,G=100"类似这样,期望是转换成我想要的格式,或者像您提出的100(A,B,D,F,G),200(c),250(E),这样的格式也可以。希望是在oracle数据库里面实现。

支持(0) 反对(0) 艾新 | 园豆:202 (菜鸟二级) | 2015-04-15 14:47

@艾新: http://zhidao.baidu.com/link?url=Ik4kxO-jN7kOHm1q7rLqGBhhdqjc8KPYPTG6mGZnUoWjQAVuaBk471uKYwkBVafMQpUSnH3-Ef7xn2TlV9i9cK

看下这个。

支持(0) 反对(0) 林嘉俊 | 园豆:206 (菜鸟二级) | 2015-04-15 16:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册