比如有表,结构如下:userCode          score         message
001                1            abc
001                2           edf
001                3           ghi
002                2           vvvvv
通过SUM和GROUPBY得到合并后的数据,比如001                6           abc,edf,ghi
002                2           vvvvv数字可以用sum来计算求和,那么varchar应该怎么合并呢???

解决方案 »

  1.   

    哈哈,这个也问过很多次
    10G的
    select usercode,sum(score) sum_score,WMSYS.WM_CONCAT(message) message
            from a 
            group by usercode9I的
    select select usercode,sum(score) sum_score,substr(max(sys_connect_by_path(message,',')),2) message
            from 
               (
                  select a.*,row_number () over(partition by usercode order by score) rn
                        from a
                )
            group by usercode
            start with rn=1 
            connect by rn-1=prior rn and usercode=prior usercode