现场分组,获取分组ID作为数组

时间:2019-03-29 09:35:30

标签: sql postgresql

SELECT field_name
FROM table
GROUP BY field_name

以上内容将为我提供一组独特的field_name

我想要的是field_name的不同集合,并且在下一列中是包含该field_name的所有ID的数组。

2 个答案:

答案 0 :(得分:1)

您应该可以为此使用array_agg,

SELECT field_name, array_agg(id)
FROM table
GROUP BY  field_name

答案 1 :(得分:1)

如果要使用真实数组,请使用array_agg()

select field_name, array_agg(id)
from the_table
group by field_name;

string_agg()(如果您只想用逗号分隔的列表):

select field_name, string_agg(id::text, ',')
from the_table
group by field_name;