我有一个表,我想为每个id提取一行,并将字段值连接在一起。
例如,在我的表中,我有这个:
TM67 | 4 | 32556
TM67 | 9 | 98200
TM67 | 72 | 22300
TM99 | 2 | 23009
TM99 | 3 | 11200
我想输出:
TM67 | 4,9,72 | 32556,98200,22300
TM99 | 2,3 | 23009,11200
在MySQL中,我可以使用聚合函数GROUP_CONCAT
,但这在这里似乎不起作用……有没有PostgreSQL的等价物,或者另一种方法来实现这一点?
发布于 2012-01-10 20:51:19
Since 9.0这甚至更简单:
SELECT id,
string_agg(some_column, ',')
FROM the_table
GROUP BY id
发布于 2010-12-17 17:07:35
SELECT array_to_string(array(SELECT a FROM b),', ');
也会这么做的。
发布于 2014-01-11 22:36:27
试着这样做:
select field1, array_to_string(array_agg(field2), ',')
from table1
group by field1;
https://stackoverflow.com/questions/2560946
复制相似问题