oracle listagg() 函数用法(参照例子)

前端之家收集整理的这篇文章主要介绍了oracle listagg() 函数用法(参照例子)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

工作中经常遇到很多需求是这样的,根据条件汇总某些字段,比如公司有三个投资平台,同一个客户拿手机号在三个平台都注册了,但注册过的用户名不一样,显示的时候需要根据手机号显示所有注册过的名称。(我用的是oracle数据库)

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

 

分享图片

 

2、要求显示成这样,如图:

 

分享图片

 

3、具体实现:

select phone,listagg(log_name,‘,‘) within group(order by phone) logName
  from int_phone
 where phone = ‘13350162230‘
 group by phone

4、需要注意的事项如下:    (1). 必须得分组,也就是说group  by是必须的。    (2). listagg函数的第一个参数是需要显示的字段,也就是log_name;第二个参数是数值之间的分隔符;同时还需要进行排序和分组within group (order by name)

@H_404_39@

猜你在找的Oracle相关文章