sql >> Database teknologi >  >> RDS >> PostgreSQL

Group_concat ækvivalent i postgresql 8.2.11

"ikke helt duplikat" i kommentarerne bør pege dig i den rigtige retning:opret dit eget aggregat funktion . Først skal du bruge en ikke-aggregeret strengsammenkædningsfunktion, noget som denne:

create function concat(t1 text, t2 text) returns text as $$
begin
    return t1 || t2;
end;
$$ language plpgsql;

Så kan du definere din egen samlede version af den funktion:

create aggregate group_concat(
    sfunc    = concat,
    basetype = text,
    stype    = text,
    initcond = ''
);

Nu kan du group_concat alt hvad du ønsker:

select group_concat(s)
from t
group by g

Jeg gravede dette ud af mine arkiver, men jeg tror, ​​det burde fungere i 8.2.

Husk, at 8.2 ikke længere understøttes, så du vil måske opgradere til mindst 8.4 så hurtigt som muligt.




  1. Hvordan laver du Multiple Inner Joins i Linq til Entities

  2. Opdater div, men kun hvis der er nyt indhold fra php-filen

  3. Hvordan struktureres kategoridata i databasen?

  4. er det godt at gemme decimalværdi som varchar i mysql?