【SQL 分析函数】wm_concat 行列转换-阿里云开发者社区

开发者社区> 北在南方> 正文

【SQL 分析函数】wm_concat 行列转换

简介:
+关注继续查看

SQL> select deptno,hiredate,ename from emp order by 1,2;

    DEPTNO HIREDATE       ENAME                                                
---------- -------------- ----------                                           
        10 09-6月 -81     CLARK                                                
        10 17-11月-81     KING                                                 
        10 23-1月 -82     MILLER                                               
        20 17-12月-80     SMITH                                                
        20 02-4月 -81     JONES                                                
        20 03-12月-81     FORD                                                 
        20 19-4月 -87     SCOTT                                                
        20 23-5月 -87     ADAMS                                                
        30 20-2月 -81     ALLEN                                                
        30 22-2月 -81     WARD                                                 
        30 01-5月 -81     BLAKE
        30 08-9月 -81     TURNER                                               
        30 28-9月 -81     MARTIN                                               
        30 03-12月-81     JAMES                                                

已选择14行。
SQL> select deptno ,
  2  max (ename) ename
  3  from
  4  ( select deptno,
  5  wm_concat(ename) over (partition by deptno order by hiredate) ename
  6  from emp )
  7  group by deptno;
    DEPTNO ENAME                                                               
---------- --------------------------------------------------                  
        10 CLARK,KING,MILLER                                                   
        20 SMITH,JONES,FORD,SCOTT,ADAMS                                        
        30 ALLEN,WARD,BLAKE,TURNER,MARTIN,JAMES                                
SQL> select wm_concat(ename) as result from (select ename from emp order by ename asc);
RESULT                                                                         
-----------------------------------------------------------------------------------
ADAMS,ALLEN,BLAKE,CLARK,FORD,JAMES,JONES,KING,MARTIN,MILLER,SCOTT,SMITH,TURNER,WARD   

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
统计分析SQL Server Profiler 跟踪的SQL
--跟踪文件读入到表中分析 SELECT * INTO ZGSJY FROM fn_trace_gettable('E:\wxxcdbprofiler.trc', default); --某时间内,最耗时SQL select TOP 100 SUBSTRING(Textdata,1,660) as '名称', count(*) as '数量', sum(duration/1000) as
685 0
SQL server 动态行转列
用聚合函数配合CASE语句实现行转列功能: 现在分享一下具体实现代码: 转换前效果: PlanName PlanType PlanLimit 计划1 计划类型1 RMB 1,000,000 计划1 计划类型2 RMB 1,000,000 计划1 计划类型3 ...
790 0
strcmp函数实现及分析
最近看C,看到strcmp函数,对它的实现原型不很清楚,于是到网上搜。网上算法一大堆,看了很多代码后自己做了一下总结  strcmp函数是C/C++中基本的函数,它对两个字符串进行比较,然后返回比较结果,函数形式如下:int strcmp(const char* str1, const char* str2); 其中str1和str2可以是字符串常量或者字符串变量,返回值为整形。
1330 0
+关注
640
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载