U zult moeten definiëren, hoe om waarden te groeperen die dezelfde category_id
delen . Ze samenvoegen? Een som berekenen?
Als u door komma's gescheiden zoeklijsten wilt maken, kan uw verklaring er als volgt uitzien:
SELECT category_id
,string_agg(col1, ', ') AS col1_list
,string_agg(col2, ', ') AS col2_list
FROM items
GROUP BY category_id
Je hebt Postgres 9.0 of hoger nodig voor string_agg(col1, ', ')
.In oudere versies kunt u vervangen door array_to_string(array_agg(col1), ', ')
. Meer geaggregeerde functies hier
.
Het aggregeren van waarden in PostgreSQL is de duidelijk superieure benadering in tegenstelling tot het aggregeren van waarden in de client. Postgres is erg snel en het vermindert (netwerk)verkeer.