select a.姓名, a.单位, a.区域, a.日期
  from test a, (select 姓名, max(日期) as 日期 from test group by 姓名) b
 where a.姓名 = b.姓名
   and a.日期 = b.日期;

解决方案 »

  1.   


    我有个需求没表达出来,就是对某个字段的求和:
    姓名  单位  区域  工作时间  日期  .....
    a1     dw1   qu1           8       20140301
     a1     dw2   qu2          6       20140302
     a2     ....     ......        .......    .................直接这样写可以么,不知速度怎么样?
    select a.姓名, a.单位, a.区域, a.日期,b.sj
      from test a, (select 姓名, max(日期) as 日期,sum(时间 as sj) from test group by 姓名) b
     where a.姓名 = b.姓名
       and a.日期 = b.日期;
      

  2.   

    ORACLE主要看数据量,数据量不多,你怎么写都没事,数据量多,你这样写会慢