Oracle 按照日期先后顺序连接字符串

php中文网
发布: 2016-06-07 17:01:12
原创
1042人浏览过

//我们都知道wm_concat()函数具有连接字符串的功能, //下面是一个实例: with t as( select

//我们都知道wm_concat()函数具有连接字符串的功能,  
//下面是一个实例:  
with t as(  
     select 'a' 井号,to_date('2011-1-10','yyyy-mm-dd') 汇报日期,'良好1' 工作情况 from dual union all  
     select 'a',to_date('2011-1-2','yyyy-mm-dd'),'良好2' from dual union all  
     select 'a',to_date('2010-1-3','yyyy-mm-dd'),'良好3' from dual union all  
     select 'b',to_date('2011-1-4','yyyy-mm-dd'),'良好4' from dual union all  
     select 'b',to_date('2010-1-5','yyyy-mm-dd'),'良好5' from dual union all  
     select 'a',to_date('2011-1-16','yyyy-mm-dd'),'良好6' from dual)  
select 井号,wm_concat(汇报日期||工作情况) 工作情况  
from t  
group by 井号  
/  
井号 工作情况  
---- --------------------------------------------------------------------------------  
a    2011-01-10良好1,2011-01-02良好2,2011-01-16良好6,2010-01-03良好3  
b    2011-01-04良好4,2010-01-05良好5  
//  
//从结果我们可以看出来,,字符串的连接是按照a的行序号,从小到大的连接  
//对于同一个行号,从左到右的连接;  
//  
//如果我们想要按照日期的先后顺序来进行连接,那我们该怎么做呢?  
//具体请看下面的代码:  
select 井号, max(工作情况)  as 工作情况   
from (  
     select 井号,  
            wm_concat(汇报日期||工作情况)over(partition by 井号 order by 汇报日期) 工作情况   
      from t)  
group by 井号  
/  
井号 工作情况  
---- --------------------------------------------------------------------------------  
a    2010-01-03良好3,2011-01-02良好2,2011-01-10良好1,2011-01-16良好6  
b    2010-01-05良好5,2011-01-04良好4  
-- 

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号