"inte riktigt duplicerat" i kommentarerna bör peka dig i rätt riktning:skapa ditt eget aggregat funktion . Först behöver du en icke-aggregerad strängsammansättningsfunktion, ungefär så här:
create function concat(t1 text, t2 text) returns text as $$
begin
return t1 || t2;
end;
$$ language plpgsql;
Sedan kan du definiera din egen sammanlagda version av den funktionen:
create aggregate group_concat(
sfunc = concat,
basetype = text,
stype = text,
initcond = ''
);
Nu kan du group_concat
allt du vill:
select group_concat(s)
from t
group by g
Jag grävde fram det här ur mina arkiv men jag tror att det borde fungera i 8.2.
Tänk på att 8.2 inte längre stöds så du kanske vill uppgradera till minst 8.4 så snart som möjligt.