LISTAGG函数】的更多相关文章

两道SQL面试题引出listagg函数: 1. 用一条sql求出每个部门(emp表)的最大工资和最小工资,以及最大工资和最小工资的员工姓名. (注:一次表扫描.同一个部门最大工资或最小工资的人可能不止一个). 2. 需求:有时为了方便打印,会要求多行多列打印,如打印emp.ename列,类似下面这样显示: ALLEN  JONES  MARTIN  SMITH    WARD BLAKE  CLARK  KING    SCOTT  TURNER ADAMS FORD   JAMES     M…
SELECT regexp_substr('公司1,贵公司2', '[^,]+', 1, LEVEL, 'i') FROM dualCONNECT BY LEVEL <= length('公司1,贵公司2') - length(REPLACE('公司1,贵公司2', ',', '')) + 1 以上为字符串带分隔符的转换为列 Oracle11.2新增了LISTAGG函数,可以用于字符串聚集,测试如下: 1,版本SQL> select * from v$version; BANNER------…
listagg 函数--oracle 11g release 2 转载:http://xpchild.blog.163.com/blog/static/10180985920108485721969/ 本文描述了在oracle 11g release 2 版本中新增的listagg函数,listagg是一个实现字符串聚合的oracle内建函数.作为一种普遍的技术,网络上也有多种实现字符串聚合的方法.本文会首先介绍listagg函数,最后会拿这些方法与listagg进行性能方面的对比. 样例数据…
方法一 wn_concat() 函数 1.把以下图中Name一样的数据合并为一条,而且NO的值要这样显示如 C.1,C.2 2.实现这种效果的操作如下,先把Name的值进行分组(group by),再把NO的值用 wm_concat()函数合并起来(注意:记得要to_char(),要不然数据显示不出来) 方法二 listagg() 函数 第一步和上面的一致 使用 listagg()函数 要把within group(order by s.no) 加上,它们是一体的…
==注:wm_concat(str1) 11g 后不支持使用== LISTAGG函数用法 select LISTAGG(name, ',') WITHIN GROUP (ORDER BY id) from tableName…
今天需要将 BDST_ID相同的PROJECT_ID用逗号分隔拼成一个字符串,于是想到了oracle的listagg函数 表名为PM_BDST_PROJECT select tt.BDST_ID, listagg (tt.PROJECT_ID, ',') WITHIN GROUP (ORDER BY tt.PROJECT_ID) PROJECT_IDS FROM PM_BDST_PROJECT tt GROUP BY tt.BDST_ID 这样就大功告成了......…
Oracle大师Thomas Kyte在他的经典著作中,反复强调过一个实现需求方案选取顺序: “如果你可以使用一句SQL解决的需求,就使用一句SQL:如果不可以,就考虑PL/SQL是否可以:如果PL/SQL实现不了,就考虑Java存储过程是否可以:如果这些都不可能实现,那么就需要考虑你是否真的需要实现这个需求.” 各个关系型DBMS产品都在遵守关系型数据库模型的基本体系架构,遵循通用的SQL国际规范.同时,为了更好地配合自身数据库实现的特征,以及提供更加丰富的功能,各个DBMS纷纷在标准SQL上…
一.首先解释一下可能会查询的基础问题: 1.1db2 “with ur”是什么意思: 在DB2中,共有四种隔离级:RS,RR,CS,UR.以下对四种隔离级进行一些描述,同时附上个人做试验的结果.隔离级是影响加锁策略的重要环节,它直接影响加锁的范围及锁的持续时间.两个应用程序即使执行的相同的操作,也可能由于选择的隔离级的不同而造成加锁的结果不同. 1.2查看连接db2数据库的版本: 命令查看: 用db2level 查看 1.3在db2中会有''字符串和null的区分 1.4声明一下这个开发时基于h…
ORACLE几种常用的方法(2) 1.concat常见的用法 : 格式:concat(String1,String2) 说明:concat函数用于将两个字符串连接起来,形成一个单一的字符串 实例: select concat('bokeyuan','xiaoneng') from dual; -- 运行结果 bokeyuanxiaoneng 2.‘||’常见的用法 : 格式:string1||string2||string3 说明:区别于concat,“||”用于将多个字符串连接起来,形成一个单…
1 现象及错误信息 在执行一次查询的过程,Oracle出现ORA-22922:nonexistent LOB value 的错误:根据提示,是在查询时没有找到lob对象: 2 问题分析 查看SQL,发现使用到了wm_concat()函数,而这个函数的返回值类型是LOB对象: 2.1 wm_concat()函数介绍: wm_concat()函数是一个列转行函数,可以将一列的多行数据转化为一行数据,例如: salary ------- 10000 9000 8500 经过wm_concat()函数转…