sql >> Databáze >  >> RDS >> PostgreSQL

Concat řádky v Postgres

Použijte GROUP BY a agregační funkce 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;

Přidal jsem cash do GROUP BY dostat se na původní hodnotu a zajistit proti případu, kdy by se pro stejné nummer lišila .

K vašemu komentáři:

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. PHP mysql objednávkové řádky

  2. Která databáze časových řad je lepší:TimescaleDB vs InfluxDB

  3. Zvláštní problém s Mysql na insertu

  4. Jak zaznamenám příkazy SQL ve Vapor 3/Fluent?