oracle聚合函数XMLAGG用法简介

XMLAGG函数语法基本如图,可以用于列转行,列转行函数在oracle里有好几种方法,wm_concat也可以做

这里介绍wm_concat是因为XMLAGG实现效果和wm_concat是一样的,只是性能方面不一样,注意:XMLAGG最好排序一下,性能会好点

XMLAGG例子: 需要实现一个table,有一列的效果是:用户姓名A(账号a),用户姓名B(账号b)…这种格式。这就想到oracle的列转行函数。可以用类似这种格式(a || ‘(’ || b || ‘)’),a表示用户名字段,b表示账号字段。

<select id="listAllocatedHandlerInfo" resultType="AllocationHandlerInfoVo">
		select XMLAGG(XMLELEMENT(e, bs.user_name || '(' || bs.user_code || ')', ',').extract('//text()'))
             .getClobVal(),
		       sd.step_name approveStep
		from t_flow_step fs
		left join t_user bs
			on fh.handler = bs.user_code
		left join t_step_define sd
		    on fs.step_id = sd.step_id
		group by sd.step_name
	</select>

查询出来,是用,分隔的数据,实现列转行显示

XMLAGG常用语法:

select t.item,
      XMLAGG(XMLELEMENT(e, t.rs_name, ',').extract('//text()'))
             .getClobVal() 材料名称
  from t_itm_rcv_stuff t groupby t.item;

wm_concat会有版本不兼容问题,https://blog.csdn.net/u014427391/article/details/84867390

oracle列转行函数还有listagg,也可以用sys_connect_by_path来做,具体根据需求来

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木二天空

001.Oracle安装部署-本地文件系统

安装包:linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip

15120
来自专栏力哥聊运维与云计算

vncserver端口的修改

http://hi.baidu.com/wxf966/blog/item/301c95f4920aabfe7709d71c.html

1.1K30
来自专栏攻城狮的那点事

Java10的新特性,你知道多少?

从Java 9发布到现在已经过去两个月了,根据最新的发布计划,距离下一个Java版本发布只有四个月时间。Java 10的新特性还在确认当中,所以从现在到GA版中...

14120
来自专栏FreeBuf

记一次BGP事件:欧洲流量通过中国电信错误传输2小时

上周四(6月6日),原本传输到几家欧洲最大的移动服务提供商的流量,通过中国电信重定向到错误的地方长达2小时。这次事件引发了公众对互联网全球路由系统:BGP(边界...

17620
来自专栏数据和云

数据库性能调优大全(附某大型医院真实案例)

墨墨导读:某医院突然出现大面积的卡慢,整个系统出现严重的问题,本文详述整个处理过程。

15440
来自专栏数据和云

系列 | 高性能存储-MySQL数据库之存储过程揭秘

墨墨导读:本文介绍什么是存储过程?为什么要使用存储过程?如何使用存储过程?如何去使用存储过程以及怎么执行存储过程。

9930
来自专栏凯哥Java

【数据迁移工具】使用 kettle数据迁移从oracle到mysql的图文教程

在工作中,我们有时候会遇到这种情况。老系统或其他系统使用的数oracle数据库,现在使用新系统,需要使用mysql数据库。但是之前数据也要迁移过来。那么这种请求...

1K20
来自专栏数据和云

紧急预警:wls9_async_response.war组件漏洞的延续

墨墨导读:2019 年 6 月 19 日,Oracle 官方正式发出通告,weblogic 存在一个最新的高位漏洞 cve-2019-2729。此漏洞来源于 O...

11620
来自专栏宜信技术实践

开源|数据库审核软件Themis的规则解析

规则解析分为四块:对象类规则解析、文本类规则解析、执行计划类规则解析、统计信息类规则解析。每个模块都可以使用手动或自动的方式进行。

13820
来自专栏凯哥Java

centos7下静默安装oracle11G图解配置 2

本文是《centos7下静默安装oracle11G图解配置》中第二篇。因linux下安装Oracle太过繁琐,如果写在一篇文章中,太长了。本文主要讲解安装前环境...

36930

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励