如果我有一个包含2列的表
text | id
---------
aaa | 1
bbb | 1
eee | 1
mmm | 2
zzz | 2
...
是否可以编写一个按ID分组的查询并输出以下结果:
id | text
------------------
1 | aaa, bbb, eee
2 | mmm, zzz
...
谢谢!
答案 0 :(得分:2)
尝试一下,
SELECT ID,
SUBSTR(xmlserialize(xmlagg(xmltext(CONCAT( ', ',text))) as VARCHAR(1024)), 3)
FROM tableName
GROUP BY ID;
答案 1 :(得分:2)
使用DB2中的listagg
函数:
select id, listagg(text, ', ') as text
from t
group by id
如果您希望按字母顺序排序:
select id, listagg(text, ', ') within group (order by text) as text
from t
group by id