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;