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来做,具体根据需求来

oracle聚合函数XMLAGG用法简介的更多相关文章

  1. Oracle to_date()函数的用法

    Oracle to_date()函数的用法 to_date()是Oracle数据库函数的代表函数之一,下文对Oracle to_date()函数的几种用法作了详细的介绍说明,供您参考学习. 在Orac ...

  2. Oracle trunc()函数的用法

    Oracle trunc()函数的用法 /**************日期********************/1.select trunc(sysdate) from dual --2013-0 ...

  3. oracle获取本月第一天和最后一天及Oracle trunc()函数的用法

    select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天", to_cha ...

  4. Oracle trunc()函数的用法--来着心静禅定ing

    1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值. 其具体的语法格式如下: TRUNC(date[,fmt]) 其中: date 一个日期值 fmt 日期格式,该日期将由指 ...

  5. Oracle trunc()函数的用法及四舍五入 round函数

    --Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual  --2011 ...

  6. [转]Oracle trunc()函数的用法

    原文地址:http://www.cnblogs.com/gengaixue/archive/2012/11/21/2781037.html 1.TRUNC(for dates) TRUNC函数为指定元 ...

  7. Oracle to_date()函数的用法介绍

    to_date()是Oracle数据库函数的代表函数之一,下文对Oracle to_date()函数的几种用法作了详细的介绍说明,需要的朋友可以参考下     在Oracle数据库中,Oracle t ...

  8. Oracle to_date()函数的用法《转载》

    to_date()是Oracle数据库函数的代表函数之一,下文对Oracle to_date()函数的几种用法作了详细的介绍说明, 原文地址:http://database.51cto.com/art ...

  9. Oracle 聚合函数

    聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 此处采用Oracle 11g中其他用户SCOTT中的EMP表,进行演示. –COUNT:统计行数量 COUNT(*)统计的是结果集的 ...

随机推荐

  1. for循环用了那么多次,但你真的了解它么?

    一.基础的for循环 0.使用while也是一种循环方式,此处探究for相关的循环,就不做拓展了. 1.遍历数组的时候,初学时是使用的如下样式的for循环: for(int i=0;i<a.le ...

  2. IT兄弟连 Java语法教程 数组 数组的使用

    数组最常用的用法就是访问数组元素,包括对数组元素进行赋值和取出数组元素的值.访问数组元素都是通过在数组引用变量后紧跟一个方括号([]),方括号里是数组元素的索引值,这样就可以访问数组元素了.访问到数组 ...

  3. Kafka常见错误整理(不断更新中)

    1.UnknownTopicOrPartitionException org.apache.kafka.common.errors.UnknownTopicOrPartitionException: ...

  4. 利用zabbix监控ogg进程(Windows平台下)

    本文给大家介绍如何监控windows平台下的ogg程序.(注:所有操作都在administrator用户下面进行操作) 监控linux平台下的ogg程序请看:https://www.cnblogs.c ...

  5. Pycharm新手使用教程(详解)

    Pycharm新手使用教程(详解) [注]: 如果想要下载Pycharm工具,直接去<开发工具>中进行下载. 简介 Jetbrains家族和Pycharm版本划分: pycharm是Jet ...

  6. wpf dual monitor

    <Window x:Class="DualMonitors.Views.WinLeft" xmlns="http://schemas.microsoft.com/w ...

  7. 软件设计之基于Java的连连看小游戏(二)——游戏基础界面的制作及事件的添加

    上次完成到游戏首页的制作,今天完成了游戏基础界面的制作以及事件的简单添加.由于功能尚未完全实现,因此游戏界面的菜单列表只是简单地添加了一下,其余菜单列表以及倒计时等在后续的制作中逐一完善. 1.首先在 ...

  8. springmvc学习笔记三:整合JDBC,简单案例==数据库事务配置(切面)

    package cn.itcast.bean; import org.springframework.jdbc.core.PreparedStatementSetter; public class U ...

  9. 网站的favicon图标

    网站的favicon图标 favicon.ico一般用于作为缩略的网站标志,它显示在浏览器的地址栏或者标签上. 制作favicon图标 把图片转换为png图片 把png图片转换为ico图标,这需要借助 ...

  10. vueInitVux中引入bootstrap、jquery步骤

    1.先从github上下载 vueInitVux 2.将 build下webpack.base.conf.js 文件 替换成 Html5IQ下的文件 3.npm i 4.npm i jquery -- ...