2017-07-18 3 views
2

でJSONを返します。ニュースソースによってPostgresは、このように構成されてJSONレスポンスを取得しようとするグループ

私のコードグループはなく、キーとしてニュースソースを使用していません:

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クエリを書き込む方法がわかりません。

テーブル

stories (
news_source, 
headline 
) 

答えて

3

は完全な行を集計しないでください、唯一の見出し:

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

オンライン例:http://rextester.com/LUOUR61576

0

ありがとうございます!

私はちょうど1つのフィールドではなく、グループごとにレコードセットを返すように作業コードを少し変更しました。

SELECT json_build_object(source, json_agg(stories.*)) 
    FROM stories 
    GROUP BY source 
    ORDER BY source; 
関連する問題