「完全に重複していない」 コメントで正しい方向を示す必要があります:独自の集計を作成する機能 。まず、次のような非集計の文字列連結関数が必要になります。
create function concat(t1 text, t2 text) returns text as $$
begin
return t1 || t2;
end;
$$ language plpgsql;
次に、その関数の独自の集約バージョンを定義できます。
create aggregate group_concat(
sfunc = concat,
basetype = text,
stype = text,
initcond = ''
);
これで、group_concat
ができます 必要なもの:
select group_concat(s)
from t
group by g
これをアーカイブから掘り出しましたが、8.2でも機能するはずです。
8.2はサポートされなくなったため、できるだけ早く8.4にアップグレードすることをお勧めします。