我有一个有多列的表,比如说“id”,“name”。
是否有一个函数可以将表列展平为文本数组?
SELECT ARRAY(SELECT row_to_json(t) FROM (SELECT id FROM table) t)
这个sql不是我想要的,因为它产生了结果
[{"id":1},{"id":2}]
我正在寻找可以产生如下结果的函数或查询
[1,2]
或只是简化,我正在寻找一个可以扭转不必要的功能
答案 0 :(得分:2)
使用array_agg()
select array_agg(id)
from table
请注意,这将返回一个使用列的数据类型键入的数组。因此,如果id
为int
,则会返回int[]