A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© andxu123 初级黑马   /  2019-9-19 13:48  /  1351 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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


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


我查了一下oracle函数,这个listagg函数就可以满足它,在网上看了看,都是介绍listagg这个函数的使用方法,看起来真费劲,于是在这里我简明扼要的说明一下
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)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马