如题
现在有表TABLE1
   name     time      info
----------------------------
   aaaa   2007/02/12  ....
   bbbb   2007/10/01  ....
   cccc   2007/05/15  ....
   bbbb   2007/06/13  ....
   aaaa   2007/06/21  ....
   cccc   2005/02/04  ....
   aaaa   2006/12/13  ....怎么把每个人最新的记录查出来
结果应该是:
   aaaa   2007/06/21  ....
   bbbb   2007/10/01  ....
   cccc   2007/05/15  ....
  

解决方案 »

  1.   


    select a.* from table1 a
    left join
    (select name,max(time)as time from table1 group by name)b
    on a.name=b.name and a.time=b.time
      

  2.   


    select a.* from table1 a
    left join
    (select name,max(time)as time from table1 group by name)b
    on a.name=b.name and a.time=b.time
      

  3.   


    select a.* from table1 a
    left join
    (select name,max(time)as time from table1 group by name)b
    on a.name=b.name and a.time=b.time
      

  4.   

    能不能不用SQL函数  因为这是在ACCESS里面用到比较多
      

  5.   

    select * from
    (select name,info,max(time) as 'the latest time' from tabel1 group by name,info) b
      

  6.   

    select a.* from table1 a 
    inner join 
    (select name,max(time)as time from table1 group by name)b 
    on a.name=b.name and a.time=b.time
      

  7.   

    select * from 
    (select name,info,max(time) as  'the latest time ' from tabel1 group by name,info) b
    是错误的,不能安group by name,info分组
    fa_ge 正解啊
      

  8.   

    能不能不用SQL函数  因为这是在ACCESS里面用到比较多----------------
    select a.* from table1 a 
    where not exists(select 1 from table1 where a.name=name and time<a.time)