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

Concat rækker i Postgres

Brug GROUP BY og den samlede funktion string_agg() :

SELECT nummer
      ,string_agg(vorname, E'\n') AS vorname
      ,string_agg(name, E'\n') AS name
      ,cash
FROM   mytable
GROUP  BY nummer, cash
ORDER  BY nummer, cash;

Jeg tilføjede cash til GROUP BY for at komme til den oprindelige værdi og sikre sig mod tilfældet, hvor det ville være anderledes for det samme nummer .

Med hensyn til din kommentar:

SELECT nummer
      ,string_agg(vorname, E'\n') AS vorname
      ,string_agg(name, E'\n') AS name
      ,cash
FROM  (
   SELECT DISTINCT
          nummer, vorname, name, cash
   FROM   mytable
   ) AS m
GROUP  BY nummer, cash
ORDER  BY nummer, cash;


  1. Hvordan opretter jeg forbindelse til mysql-serveren med Go og go-sql-driver?

  2. 46 Kontrolfiler til SQL Loader

  3. Mysql-tilladelsesfejl med 'indlæs data'

  4. Hvordan henter jeg værdier fra en indlejret Oracle-procedure?