Użyj GROUP BY
oraz funkcja agregująca 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;
Dodałem cash
do GROUP BY
aby uzyskać pierwotną wartość i zabezpieczyć się przed przypadkiem, w którym byłaby inna dla tego samego nummer
.
Co do twojego komentarza:
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;