在字段上分组,将分组的ID作为数组

问题描述 投票:0回答:2
SELECT field_name
FROM table
GROUP BY field_name

以上将为我提供一套独特的field_name

我想要的是field_name的独特集合,并在下一列中包含所有具有field_name的ID。

sql postgresql
2个回答
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;

1
投票

您应该能够使用array_agg来实现此目的,

SELECT field_name, array_agg(id)
FROM table
GROUP BY  field_name
© www.soinside.com 2019 - 2024. All rights reserved.