LISTAGG函数
来源:互联网 发布:东莞厂货aj哪淘宝店好 编辑:程序博客网 时间:2024/06/15 20:40
举个简单的例子
SELECT * from city
我查询的结果是这样的
nation city
1 China Guangzhou
2 China Shanghai
3 China Beijing
4 USA New York
5 USA Bostom
6 Japan Tokyo
但假如我们不想要这种形式的结果,而是要那种每个nation后面的city值一一列举出来,
那怎么办
此时我们就可以利用LISTAGG函数的功能来实现我们的效果
select nation,listagg(city,',') within group (order by nation) as city
from city
group by nation
查询结果如下
当然必须注意的是,此函数必须在
oracle 11gR2 才有,R1 没有
具体的有没有这个功能,可以查看自己的oracle版本
select * from v$version;
如果出现的是
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
说明是11gR2 有此功能
如果出现的是
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
说明是11gR1并没有此功能
还有
需要注意的事项如下:
1. 必须得分组,也就是说group by是必须的。
2. listagg函数的第一个参数是需要进行枚举的字段,也就是ddate;第二个参数是枚举数值之间的分隔符;同时还需要进行排序和分组within group (order by name)
- listagg函数
- LISTAGG函数
- listagg函数
- oracle中的listagg函数
- Oracle函数之LISTAGG
- oracle函数listagg()
- Oracle listagg 函数
- oracle函数listagg()
- Oracle行专列函数Listagg()
- Oracle 列转行函数 Listagg()
- Oracle 列转行函数 Listagg()
- Oracle 列转行函数 Listagg()
- Oracle行专列函数Listagg()
- Oracle ListAgg 和 wm_concat函数
- Oracle 列转行函数 Listagg()
- oracle wm_concat 和 listagg函数
- oracle函数listagg的使用说明
- Oracle 列转行函数 Listagg()
- 内核3.x版本之后设备树机制
- Java:按值传递还是按引用传递详细解说
- VidPN Objects and Interfaces
- C++内存管理
- Python语言下的机器学习库
- LISTAGG函数
- WebViewJavascriptBridge使用说明(iOS)
- Oracle EBS 11i BOM模块常用表结构
- 091.Block And Var 块与局部变量
- 那些年使用的测试工具
- Unity3D中使用easyroad3d插件 删除道路
- 090.Block 定义块的三种方式
- 函数式编程--方法和构造器引用
- 中文分词测试