sql >> データベース >  >> RDS >> PostgreSQL

postgresql8.2.11で同等のGroup_concat

    「完全に重複していない」 コメントで正しい方向を示す必要があります:独自の集計を作成する機能 。まず、次のような非集計の文字列連結関数が必要になります。

    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にアップグレードすることをお勧めします。




    1. 外部テーブルからの選択でのsqlplusエラー:ORA-29913:ODCIEXTTABLEOPENコールアウトの実行中にエラーが発生しました

    2. Ajax呼び出しは、エコー値だけでなくページ全体を返します

    3. MySQLNonTransientConnectionException:データベースサーバーへの接続を作成できませんでした

    4. mysqlはコンマ区切りのIDで2つのテーブルを結合します