我们知道,可以实现这样的分组统计功能
select nm,sum(score) group by nm;
有没有这样的函数
select nm,link(strName) group by nm;
(假如字段strName是字符串)link的功能是将同一组的strName连接起来。例如,如果执行如下SQL
select nm,strName ;得到的结果是
01,张三
01,李四
01,王五
则执行select nm,link(strName) group by nm;得到的结果是
01,张三李四王五

解决方案 »

  1.   

    10g或者以上版本的有 wm_concat()
    select nm,wm_concat(strName) 
    from tb
    group by nm
      

  2.   

    可以使用case when语句函数,when后面可以加很多分组条件.
      

  3.   

    难道oracle 9以下的版本就没有办法了吗
      

  4.   


    select deptno,substr(max(sys_connect_by_path(ename,';')),2) name
    from
    (select deptno,ename,rn,lead(rn) over(partition by deptno order by rn) rn1
    from
    (select deptno,ename,row_number() over (order by ename) rn
    from emp))
    start with rn1 is null
    connect by rn1=prior rn 
    group by deptno