SQL分组后某一列合并显示

一个简单的随笔:

 

需求:SQL通过group by对表数据进行分组,然后对每一组内某一列合并为一行展示。

~~其实很简单的一个函数就实现了,但是在上网扒拉了好久才找到,既然那么难找就记录下来吧!

 

举个栗子:

1.原表数据是这样的:

2.期望加工后的结果是这样的:

 

 3.SQL实现语句是这样的:

select t.calss,string_agg(t.name,',')   name_all  from  table_test t group by t.class;

解释:通过简单的string_agg函数就可以实现以上需求啦!这里的第一个参数 t.name 是想要合并的列,第二个参数是分隔符!

结束! 

 

posted @ 2020-11-13 17:46  Easefly  阅读(1045)  评论(0)    收藏  举报