Budete muset definovat, jak seskupit hodnoty, které sdílejí stejné category_id
. Zřetězit je? Vypočítat součet?
Chcete-li vytvořit seznamy hodnot oddělených čárkami, může váš příkaz vypadat takto:
SELECT category_id
,string_agg(col1, ', ') AS col1_list
,string_agg(col2, ', ') AS col2_list
FROM items
GROUP BY category_id
Potřebujete Postgres 9.0 nebo novější pro string_agg(col1, ', ')
.Ve starších verzích můžete nahradit pomocí array_to_string(array_agg(col1), ', ')
. Další agregační funkce zde
.
Agregace hodnot v PostgreSQL je jednoznačně lepší přístup oproti agregaci hodnot v klientovi. Postgres je velmi rychlý a to snižuje (síťový) provoz.