关于oracle函数listagg的使用说明

关于oracle函数listagg的使用说明

工作中经常遇到客户提出这样的需求,希望在汇总合并中,能够把日期逐个枚举出来。

如图,原始数据是这样的:

客户希望能够实现这样的汇总合并:

 
那么通常我会使用listagg这个函数,但是好多网上都是系统的全面的介绍listagg这个函数的使用方法,看起来很费力气。在这里我简明扼要的说明一下
 
实现这个需求的语句是这样的:
select name,
listagg(ddate,' / ') within group (order by  name) as ddate
from aa
group by name
 
需要注意的事项如下:
1. 必须得分组,也就是说group  by是必须的。
2. listagg函数的第一个参数是需要进行枚举的字段,也就是ddate;第二个参数是枚举数值之间的分隔符;同时还需要进行排序和分组within group (order by name)

posted @ 2015-11-09 18:21  java高级技术汇  阅读(673)  评论(0编辑  收藏  举报