求助一个sql语句(不用plsql)
问题:
     id name job date
     1 qq  ww  1983
     2 qq  ww  1986
     3 qq  ww  1987
     4 ee  ww  1987
     5 ee  ww  1983
     6 ee  ww  1986
我想拿到形如这样的结果:
List list = (List)list(0);
list里面是:qq的1983,1986,1987

解决方案 »

  1.   

    分组查询啊,select date from tableName group by date
      

  2.   

    你的意思是这样?
    select (distinct) job from [table] where name='qq'
    将结果放入list中
      

  3.   

    描述的不准确 是这样
    问题:
         id name job date
         1 qq  ww  1983
         2 qq  ww  1986
         3 qq  ww  1987
         4 ee  ww  1987
         5 ee  ww  1983
         6 ee  ww  1986
    我想拿到形如这样的结果:
    qq的date list(0) 1983,1986,1987
    ee的date list(1)1983,1986,1987
      

  4.   

    但这个需求非常常见,对于Oracle来说 没有内置函数吗
      

  5.   

    行转列,效率不高:select name ,
             ltrim(sys_connect_by_path(date, ','), ',') categ_ids   
     from (select t.name ,t.date,
                 (row_number() over(partition by  name  order by date)) numid   
           from yourtable T)   
    WHERE connect_by_isleaf = 1 start with numid = 1 connect by numid - 1 = prior numid   and name  = prior name ;
      

  6.   


    看到你用了sys_connect_by_path 语句 是不是事先要做个树形结构,学习了