group by字段后,其他字段的合并处理

自己想做一个查询,类似于

select age,name from student group by age

 但是很明显这是不能运行的,因为你把age分组了,那么name怎么处理,一般有取最大值max(name)。最小值min(name),或者如果是数字的话,还可以sum(name),但是我要做的是需要把不要同的name全部组合起来,类似于这样

18     张三,李四

20     王五,刘六

把剩下的字段给组合起来,让我看的更清晰,咨询了dba后,知道可以这样做

select age ,listagg(name,',') within GROUP (order by name) name from student group by age

 这样子就实现了我要的功能,在这里做个笔记,以免以后dba走了,或者我走了,找不到这份资料,也给各位分享一下

猜你喜欢

转载自wenchangping.iteye.com/blog/2286232