比如我有这样的数据
name   class
张三    一班
张三    三班
李四    一班
李四    二班
李四    四班
-------------我group by name字段后,同时把class的数据拼在一起:要查询的结果:
name  class
张三   一班三班
李四   一班二班四班
-------------
请问这样的查询怎么写?最好能用最优化的性能查询,在此先谢谢大家! 

解决方案 »

  1.   

    10g以上版本用这个函数不过分隔符带逗号。select name,wmsys.wm_concat(class) from stu
      

  2.   

    少了个groupSQL> select name,wmsys.wm_concat(class) from stu group by name;
     
    NAME       WMSYS.WM_CONCAT(CLASS)
    ---------- --------------------------------------------------------------------------------
    李四       一班,二班,四班
    张三       一班,三班
     
      

  3.   

    SQL> select name, replace(wmsys.wm_concat(class), ',', '')
      2    from stu
      3   group by name
      4   order by name desc
      5  ;
     
    NAME       REPLACE(WMSYS.WM_CONCAT(CLASS)
    ---------- --------------------------------------------------------------------------------
    张三       一班三班
    李四       一班四班二班