Използвайте 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;