如何在postgresql中选择整数数组

如何在postgresql中选择整数数组,sql,arrays,json,postgresql,Sql,Arrays,Json,Postgresql,我想从整数数组表中进行如下选择: [1, 2, 3] (SELECT array_to_json(array_agg(row_to_json(s))) FROM( SELECT specialty FROM talent_specialty WHERE userid = 840 )s); 现在在尝试这样的事情时: [1, 2, 3] (SELECT array_to_json(array_agg(row_to_json(s))) FROM( SELECT specialty FROM

我想从整数数组表中进行如下选择:

[1, 2, 3]
(SELECT array_to_json(array_agg(row_to_json(s))) FROM(
 SELECT specialty FROM talent_specialty WHERE userid = 840 )s);
现在在尝试这样的事情时:

[1, 2, 3]
(SELECT array_to_json(array_agg(row_to_json(s))) FROM(
 SELECT specialty FROM talent_specialty WHERE userid = 840 )s);
这是查询返回的记录

[{"specialty":1},{"specialty":2}]
表如下所示:

[1, 2, 3]
(SELECT array_to_json(array_agg(row_to_json(s))) FROM(
 SELECT specialty FROM talent_specialty WHERE userid = 840 )s);

您是否只需搜索


如果您不需要JSON数组,而需要一个简单的数组,那么当然可以使用
array\u agg

SELECT array_agg(speciality) 
FROM talent_speciality

你的预期输出是什么?@Tony只是像这样的整数数组[1,2,3],为了确保我理解。您有
[{“专业”:1},{“专业”:2},…]
并且想要
[1,2,3,…]
?[{“专业”:1},{“专业”:2},…]是表中的值吗?或者您的表是否包含行为1、2、3的列?如果您能在问题中添加一个示例表就好了是的,这就是json_agg所做的(请参阅链接的演示和文档)