尝试获取结构如下的JSON响应:

{
  'news_source_1' : [{'headline': 'title'},{'headline': 'title'}],
  'news_source_2' : [{'headline': 'title'},{'headline': 'title'}],
  'news_source_3' : [{'headline': 'title'},{'headline': 'title'}]
}

该查询将调用按news_source分组的单个表,该表是该表中的一列。

我的代码按新闻源分组,但不使用新闻源作为键:
SELECT array_to_json(array_agg(stories)) FROM stories GROUP BY source

返回值:
{
  [{'headline': 'title'},{'headline': 'title'}],
  [{'headline': 'title'},{'headline': 'title'}],
  [{'headline': 'title'},{'headline': 'title'}]
}

是否可以将新闻来源列用作父键?
不确定如何使用PG子语法编写此SQL查询。

table
stories (
 news_source,
 headline
)

最佳答案

不要汇总完整的行,而只汇总标题:

SELECT json_build_object(news_source, json_agg(headline))
FROM stories
GROUP BY news_source
ORDER BY news_source;

在线示例:http://rextester.com/LUOUR61576

关于json - Postgres返回JSON与组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45157438/

10-11 07:58