可能是重复问题:
有没有一条Oracle SQL查询将多行聚合为一行?
在Oracle中生成连接字符串的快速方法
一个Oracle SQL初学者的问题
我有一个如下的表:
id1 A
id1 B
id1 C
id2 A
id3 B
id3 A
我想要得到的结果是:
id1 A,B,C
id3 B,A
我不能使用循环,我必须只用一个查询来实现
我使用的是Oracle DB v10(我知道这很重要,因为有关于这个的问题)。
问题:如何使用单个查询将一列中的字符串聚合在一起?
原因:无法在一个查询中使用多个表来使用wm_concat。
解决方法:使用wm_concat函数来解决这个问题。查询语句如下:
如果要保留重复值:
SELECT attr1, wm_concat(attr2) FROM YourTable GROUP BY field2;
如果要去除重复值:
SELECT attr1, wm_concat(distinct attr2) FROM YourTable GROUP BY field2;
用户名或邮箱地址
密码