2016-12-01 3 views

Antwort

0

Also hier haben wir einige Testdaten

CREATE TABLE foo AS 
SELECT * FROM (
    VALUES (1,'A'),(1,'B'),(2,'H'),(2,'G'),(2,'A') 
) AS f(id,col); 

erstellen Diese Arbeit sollte,

SELECT id, array_to_string(array_agg(col), '') 
FROM table 
GROUP BY id; 

Hier ist, was wir tun,

  1. GROUP BY id.
  2. Aufbau einer PostgreSQL text[] (Text-Array) dieser Spalte mit array_agg
  3. das Array zu Text durch Verbinden auf eine leere Zeichenfolge 'Konvertieren back' mit array_to_string.

Sie auch string_agg,

SELECT id, string_agg(col, '') 
FROM foo 
GROUP BY id; 
+0

Ich wusste nicht, über die array_agg und array_to_string Funktionen, aber es funktionierte perfekt nutzen! – Judit

0

Je besser soluction wird mit str_sum Agregate Funktion

select 
user, 
str_sum(column_name,'') 
from table_name 
group by user; 
+0

Fehlermeldung: 'Funktion str_sum (Zeichen variiert, unbekannt) existiert nicht', aber die folgende Funktion funktionierte! – Judit

+0

Ihre Version Postgres? –

+0

Ich denke du meinst string_agg, ich habe mein Beispiel aktualisiert, um es zu zeigen. –

Verwandte Themen