listagg()用于字符串聚集

LISTAGG(XXX--要合并的列,XXX--分隔符) WITHIN GROUP( ORDER BY XXX) over(partition by XXX)

需要注意的事项如下:

1. 必须得分组,也就是说group  by是必须的。

2. listagg函数的第一个参数是需要进行合并的字段;第二个参数是分隔符;同时还需要进行排序和分组within group (order by XXX)

eg:

(1)LISTAGG(XXX--要合并的列,XXX--分隔符) WITHIN GROUP( ORDER BY XXX)

with temp as(

select 'China' nation ,'Guangzhou' city from dual union all

select 'China' nation ,'Shanghai' city from dual union all

select 'China' nation ,'Beijing' city from dual union all

select 'USA' nation ,'New York' city from dual union all

select 'USA' nation ,'Bostom' city from dual union all

select 'Japan' nation ,'Tokyo' city from dual

)

select nation,listagg(city,',') within GROUP (order by city)

from temp

group by nation

China Beijing,Guangzhou,Shanghai

Japan Tokyo

USA Bostom,New York

(2)

LISTAGG(XXX--要合并的列,XXX--分隔符) WITHIN GROUP( ORDER BY XXX)

over(partition by XXX)

with temp as(

select 500 population, 'China' nation ,'Guangzhou' city from dual union all

select 1500 population, 'China' nation ,'Shanghai' city from dual union all

select 500 population, 'China' nation ,'Beijing' city from dual union all

select 1000 population, 'USA' nation ,'New York' city from dual union all

select 500 population, 'USA' nation ,'Bostom' city from dual union all

select 500 population, 'Japan' nation ,'Tokyo' city from dual

)

select population,

nation,

city,

listagg(city,',') within GROUP (order by city) over (partition by nation) rank

from temp ;

500ChinaBeijingBeijing,Guangzhou,Shanghai

500ChinaGuangzhouBeijing,Guangzhou,Shanghai

1500ChinaShanghaiBeijing,Guangzhou,Shanghai

500JapanTokyoTokyo

500USABostomBostom,New York

1000USANew YorkBostom,New York

oracle里的listagg,oracle中的listagg函数相关推荐

  1. oracle里的concat,oracle 中的 CONCAT,substring ,MINUS 用法

    有的时候,我们有需要将由不同栏位获得的资料串连在一起.每一种资料库都有提供方法来达到这个目的: MySQL: CONCAT() Oracle: CONCAT(), || SQL Server: + C ...

  2. matlab里newff,新版matlab中神经网络训练函数newff的使用方法

    新版matlab中神经网络训练函数newff的使用方法 新版 Matlab 中神经网络训练函数 Newff 的使用方法一. 介绍新版 newffSyntax net = newff(P,T,[S1 ...

  3. oracle里面的nvl,oracle中nvl函数

    最近在修改项目中一个统计的bug,统计出的钱数不对,因为不是自己开发的模块,经过分析流程找到了统计的sql. sum(f_msmoney)+sum(f_fkmoney) as total, 上面这段是 ...

  4. oracle里的定时器,oracle中创建定时器

    --创建定时器 CREATE OR REPLACE PROCEDURE P_TEST_JOB IS --判断任务是否已被创建,若任务被创建过,则 isExist > 0 isExist NUMB ...

  5. oracle plsql 字符串长度,plsql中常用字符串函数

    1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space f ...

  6. oracle isnull的用法,SQL中的ISNULL函数使用介绍

    使用指定的替换值替换 NULL. 语法 ISNULL ( check_expression , replacement_value ) 参数 check_expression 将被检查是否为 NULL ...

  7. oracle里minis用法,Oracle初学者必知的39个问题

    Oracle初学者必知的39个问题 作为oracle新手,可以把这39个问题先看一遍,在刚开始使用oracle的时候,可以少些困惑,多些方便. 1. Oracle安装完成后的初始口令? interna ...

  8. oracle里update+where,Oracle 关联表更新 update ,where exists

    表A ID NAME AGE SEX BOOK 1 小丑1 12 男 数据结构 2 小丑2 22 女 人工智能 表B ID AGE SEX COMPUTER 1 00 applet 2 00 thin ...

  9. oracle数据库listagg,Oracle 19c 中的 LISTAGG 函数结果去重

    Oracle 11gR2 中引入了 LISTAGG 函数,以简化字符串聚合.在Oracle 12cR2中,它已扩展为包括溢出错误处理.Oracle 19c 中通过包含 DISTINCT 关键字,可以从 ...

最新文章

  1. Android -- EventBus使用
  2. 为.Text加了注册模块
  3. python画圆简单代码-Python 用turtle实现用正方形画圆的例子
  4. 洛谷P1071 潜伏者 字符串
  5. 《乌合之众》读书笔记(part5)--名望的特性就是阻止我们看到事物的原本面目,彻底麻痹我们的判断力
  6. ubuntu7.10中的apache的一些设置
  7. HTML5清爽简洁外贸网站模板
  8. 适用于 ESXi 6.x 中的 OpenSLP 安全漏洞 (CVE-2019-5544) 的权宜措施 (76372)
  9. python获取某个模块文件的路径
  10. 手机端答题页面_有奖答题来啦!科普知识等你来挑战……
  11. iptables高性能前端优化-无压力配置1w+条规则
  12. java项目账户充值提现_充值和提现的业务流程是怎样的?
  13. Bug趣闻:在程序员崩溃的边缘试探……
  14. 使用百度地图API来完成交大校园巴士时刻表
  15. GTS全局事务测试-单DRDS跨库事务
  16. 由Nginx源码写双向循环链表
  17. 关于Hystrix整合ribbon调用其他服务时 首次进入回退
  18. 新手上路有哪些开车技巧 , 很实用!
  19. python测试开发工具库汇总
  20. 关于delete this

热门文章

  1. java http ipv6_如何在Java上同时支持IPv4和IPv6
  2. 一点到另外两点所成直线的距离
  3. 抽检工作自动化,软件机器人提升样品信息采集和录入效率
  4. codecombat之边远地区的森林1-11关及地牢38关代码分享
  5. 机器学习基础学习-多项式回归
  6. 程序设计思维与实践Week9 作业 (1/2/智能班)
  7. web安全之浏览器安全(二)
  8. 七夕生成动态爱心图gif
  9. form表单提交后页面404
  10. 10本投行必读书籍+10个必用网站