select * from tablename a
where [Date]=(select max([Date]) from tablename where name=a.name)
order by name

解决方案 »

  1.   

    select a.* from view1 a,
    (select  name,max(id) as maxid from view1 group by name) b
    where a.name=b.name and a.id=b.maxid
    order by a.name
      

  2.   

    select a.* from tablename a inner join (select name,max(date) as date from tablename group by name) b on a.name=b.name
      

  3.   

    select a.* from view1 a,
    (select  name,max([date]) as maxdate from view1 group by name) b
    where a.name=b.name and a.[date]=b.maxdate
    order by a.name
      

  4.   

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

  5.   

    select id,name,value,date from t6 
          where date in (select max(date) from t6 group by name)
          order by name