sql >> Database >  >> RDS >> PostgreSQL

Concat-rijen in Postgres

Gebruik GROUP BY en de geaggregeerde functie 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;

Ik heb cash toegevoegd naar de GROUP BY om tot de oorspronkelijke waarde te komen en bescherming te bieden tegen het geval dat het voor hetzelfde nummer anders zou zijn .

Wat betreft je opmerking:

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. Ik moet kolomnamen doorgeven met behulp van variabele in select-instructie in Store Procedure, maar ik kan geen dynamische query gebruiken

  2. Hoe een enkele rij te selecteren a 100 miljoen x

  3. Onderdruk waarschuwingsuitvoer in bash

  4. Een resultaatkolom hergebruiken in een uitdrukking voor een andere resultaatkolom