oracle 排序-wm_concat()内排序问题

问题描述

wm_concat()内排序问题
期望: wm_concat()内的按col6排序

 with t as (select 'A' as col1'李四' as col2,'1' as col3'2015-04-15' as col5'2015-04-15 16:30:30' as col6 from dualunionselect 'B' as col1'李四' as col2,'2' as col3'2015-04-15' as col5'2015-04-15 16:31:30' as col6 from dualunionselect 'C' as col1'李四' as col2,'3' as col3'2015-04-15' as col5'2015-04-15 16:31:50' as col6 from dualunionselect 'AA' as col1'李四' as col2,'2' as col3'2015-04-14' as col5'2015-04-15 16:30:10' as col6 from dualunionselect 'BB' as col1'李四' as col2,'3' as col3'2015-04-14' as col5'2015-04-15 16:31:20' as col6 from dualunionselect 'CC' as col1'李四' as col2,'2' as col3'2015-04-14' as col5'2015-04-15 16:31:30' as col6 from dualunionselect 'X' as col1'张三' as col2,'1' as col3'2015-04-15' as col5'2015-04-15 16:31:50' as col6 from dualunionselect 'Y' as col1'张三' as col2,'1' as col3'2015-04-15' as col5'2015-04-15 16:50:50' as col6 from dualunionselect 'Z' as col1'张三' as col2,'3' as col3'2015-04-15' as col5'2015-04-15 16:51:50' as col6 from dualunionselect 'M' as col1'王五' as col2,'3' as col3'2015-04-15' as col5'2015-04-15 16:31:50' as col6 from dual)select wm_concat(col1)col2col5sum(to_number(col3)) from (select * from t order by col6 asc) group by col5col2 order by col5 desc

解决方案

运行结果:(http://img.ask.csdn.net/upload/201504/15/1429093463_855489.png)
期望结果:http://img.ask.csdn.net/upload/201504/15/1429093541_277704.png)

时间: 2024-10-31 17:25:19

oracle 排序-wm_concat()内排序问题的相关文章

Oracle创建WM_CONCAT函数

Oracle创建WM_CONCAT函数 WM_CONCAT这个函数会出错,所以从 11g开始.官方不认可 WM_CONCAT.然后就没这个函数了, 下面就是创建WM_CONCAT这个函数的步骤 第一步: 下载三个文件:owmctab.plb . owmaggrs.plb . owmaggrb.plb 第二步: 用sqlplus登录:CONN SYS/PASS_WORD AS SYSDBA; 一.忘记除SYS.SYSTEM用户之外的用户的登录密码. 用SYS (或SYSTEM)用户登录: CONN

聊聊Oracle排序分析函数

数据库系统应用,最典型的应用场景就是各种报表生成.作为开发人员,最理想的情况是"一句SQL解决一张报表".但是,面对需求的"云谲波诡",我们常常会"绞尽脑汁".这个时候,丰富的经验和知识积累往往是我们解决问题的关键.   在Oracle自拓展SQL功能中,分析函数(Analytical Function)是非常强大的工具.区别于传统SQL函数,分析函数具有功能强大.拓展性强和使用方便的特点.实践中,一些使用标准SQL很难甚至不可能实现的需求,我们

Oracle数据库中对null值的排序及mull与空字符串的区别_oracle

order by排序之null值处理方法在对业务数据排序时候,发现有些字段的记录是null值,这时排序便出现了有违我们使用习惯的数据大小顺序问题.在Oracle中规定,在Order by排序时缺省认为null是最大值,所以如果是ASC升序则被排在最后,而DESC降序则排在最前.所以,为何分析数据的直观性方便性,我们需要对null的记录值进行相应处理. 这是四种oracle排序中NULL值处理的方法:1.使用nvl函数语法:Nvl(expr1, expr2)     若EXPR1是NULL,則返回

Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出_oracle

ORDER BY非稳定的排序提一个问题: oracle在order by 排序时,是稳定排序算法吗? 发现用一个type进行排序后,做分页查询,第一页的数据和第二页的数据有重复 怀疑是order by 时,两次排列的顺序不一致 看到业务描述的问题可以得到的结论order by排序不稳定,还有第一个印象就是,type肯定是不唯一的,并且没有索引吧. 这里先科普下排序的稳定性,举个最简单的例子,1,2,3,1,4,5 排序 排序的结果是1,1,2,3,4,5,这时候观察这个1,如果第一个1还是排序前

oracle通过行范围查询取4至10行并排序_oracle

不能直接用rownum,要查询出来以后用别名转换. 以EMP表为范例,取4至10行: select * from (select rownum id,t.* from emp t) where id between 4 and 10; 有需要排序的,一定要这样处理: select * from ( select rownum rn,t.* from ( select a.* from eba02 a order by eba003) t where rownum <= 110) where rn

Oracle调优(入门及提高篇)

    在过去的十年中, Oracle 已经成为世界上最专业的数据库之一.对于 IT 专家来说,就是要确保利用 Oracle 的强大特性来提高他们公司的生产力.最有效的方法之一是通过 Oracle 调优.它有大量的调整参数和技术来改进你的 Oracle 数据库的性能.    Oracle 调优是一个复杂的主题.关于调优可以写整整一本书,不过,为了改善 Oracle 数据库的性能,有一些基本的概念是每个 Oracle DBA 都应该遵从的.    在这篇简介中,我们将简要地介绍以下的 Oracle

Oracle优化的五个方面

oracle|优化 在过去的十年中, Oracle 已经成为世界上最专业的数据库之一.对于 IT 专家来说,就是要确保利用 Oracle 的强大特性来提高他们公司的生产力.最有效的方法之一是通过 Oracle 调优.它有大量的调整参数和技术来改进你的 Oracle 数据库的性能.        Oracle 调优是一个复杂的主题.关于调优可以写整整一本书,不过,为了改善 Oracle 数据库的性能,有一些基本的概念是每个 Oracle DBA 都应该遵从的.         在这篇简介中,我们将

Oracle专家调优秘密

oracle Oracle专家调优秘密 前言 在过去的十年中, Oracle 已经成为世界上最专业的数据库之一.对于 IT 专家来说,就是要确保利用 Oracle 的强大特性来提高他们公司的生产力.最有效的方法之一是通过 Oracle 调优.它有大量的调整参数和技术来改进你的 Oracle 数据库的性能. Oracle 调优是一个复杂的主题.关于调优可以写整整一本书,不过,为了改善 Oracle 数据库的性能,有一些基本的概念是每个 Oracle DBA 都应该遵从的. 在这篇简介中,我们将简要

Oracle专家调优秘密(一)

oracle 前言 在过去的十年中,Oracle已经成为世界上最专业的数据库之一.对于IT专家来说,就是要确保利用Oracle的强大特性来提高他们公司的生产力.最有效的方法之一是通过Oracle调优.它有大量的调整参数和技术来改进你的Oracle数据库的性能. Oracle调优是一个复杂的主题.关于调优可以写整整一本书不过,为了改善Oracle数据库的性能,有一些基本的概念是每个Oracle DBA都应该遵从的. 在这篇简介中,我们将简要地介绍以下的Oracle主题: --外部调整:我们应该记住