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;