方法を定義する必要があります 同じcategory_id
を共有する値をグループ化する 。それらを連結しますか?合計を計算しますか?
値のコンマ区切りリストを作成するには、ステートメントは次のようになります。
SELECT category_id
,string_agg(col1, ', ') AS col1_list
,string_agg(col2, ', ') AS col2_list
FROM items
GROUP BY category_id
string_agg(col1, ', ')
。古いバージョンでは、array_to_string(array_agg(col1), ', ')
に置き換えることができます 。その他の集計関数
PostgreSQLで値を集計することは、クライアントで値を集計するのとは対照的に、明らかに優れたアプローチです。 Postgresは非常に高速です これで、(ネットワーク)トラフィックが減少します。