sql:在一列中聚合/收集字符串(使用单个查询)

时间:2012-09-03 15:05:15

标签: sql oracle

  

可能重复:
  Is there an Oracle SQL query that aggregates multiple rows into one row?
  Fast way to generate concatenated strings in Oracle

一个oracle sql新手问题

我有一张桌子:

id1 A
id1 B
id1 C
id1 A
id2 A
id3 B
id3 A

我想得到什么

id1 A,B,C
id2 A
id3 B,A

我不能使用循环,我只需要查询

我使用的是Oracle DB v10(我知道这很重要,因为this)。

1 个答案:

答案 0 :(得分:0)

您需要使用wm_concat(fieldname)来解决目的。 所以你的查询将是:

SELECT attr1, wm_concat(attr2) FROM YourTable GROUP BY field2;

如果您想要删除重复项,那么

SELECT attr1, wm_concat(distinct attr2) FROM YourTable GROUP BY field2;