PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Concat редове в Postgres

Използвайте GROUP BY и агрегатната функция в 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;

Добавих cash към GROUP BY за да стигнете до първоначалната стойност и да се предпазите от случай, когато тя би била различна за едно и също nummer .

Що се отнася до вашия коментар:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres - как да криптирате колона и нейните данни

  2. Как да добавите автоматично увеличаващ се първичен ключ към съществуваща таблица в PostgreSQL?

  3. Защо не мога да изключа зависими колони от „GROUP BY“, когато агрегирам по ключ?

  4. Как да накарам alembic да излъчва персонализиран DDL на after_create?

  5. Date_trunc на PostgreSQL в mySQL