Postgresql多行转一行

时间:2021-10-06 10:29:00
    1. postgres=# select * from book2;  
    2.  id | name | tag   
    3. ----+------+-----  
    4.   1 | java | aa  
    5.   1 | java | bb  
    6.   1 | java | cc  
    7.   2 | C++  | dd  
    8.   2 | C++  | ee  
    9. (5 rows)  
  • string_agg(字段名,分隔符)
    1. postgres=# select name,string_agg(tag,','from book2 group by name;  
    2.  name | string_agg   
    3. ------+------------  
    4.  C++  | dd,ee  
    5.  java | aa,bb,cc  
    6. (2 rows
    array_agg(字段名)
    1. postgres=# select * from book2;  
    2.  id | name | tag   
    3. ----+------+-----  
    4.   1 | java | aa  
    5.   1 | java | bb  
    6.   1 | java | cc  
    7.   2 | C++  | dd  
    8.   2 | C++  | ee  
    9. (5 rows)  
    转载:https://blog.csdn.net/luojinbai/article/details/44458549