2017-08-27 2 views
1

Ich habe eine solche AbfragePostgres array_agg jeden Wert in neue Zeichenfolge innerhalb einer Reihe

SELECT group_id, array_agg(element_id) FROM table 
GROUP BY group_id; 

Als Ergebnis habe ich so etwas wie das:

group_id | array_agg 

    106  | {2147,2138,2144} 
    107  | {2132,2510,2139} 

Welche Abfrage geschrieben werden sollte, so führen kann auf diese Weise dargestellt werden:

 group_id | array_agg 

     106  | {2147 
       | 2138 
       | 2144} 
     107  | {2132 
       | 2510 
       | 2139} 

Antwort

1

Grundsätzlich sollte man die Ausgabe in einer Client-Anwendung formatiert werden, jedoch können Sie 012.353.468 verwendenmit einem Zeilenvorschubzeichen:

select group_id, string_agg(element_id::text, e'\n') 
from my_table 
group by group_id; 

group_id | string_agg 
----------+------------ 
     106 | 2147  + 
      | 2138  + 
      | 2144 
     107 | 2132  + 
      | 2510  + 
      | 2139 
(2 rows) 
Verwandte Themen