Table1id CompName          AddDate
----------------------------------
1 Comp1 2006-3-1
2 Comp1 2006-3-2
3 Comp3 2006-3-2
4 Comp4 2006-3-2
5 Comp4 2006-3-3要实现如下数据
id CompName          AddDate
---------------------------------
2 Comp1 2006-3-2
3 Comp3 2006-3-2
5 Comp4 2006-3-3 如果CompName相同的记录有多条,则显示AddDate最新的一条记录。有答案即结贴,说话算数。

解决方案 »

  1.   

    select * from tb a 
    where not exists(select * from tb where CompName=a.CompName and AddDate>a.AddDate )
      

  2.   

    select * 
    from Table1 a
    where not exists(select top 1 * from Table1 where CompName=a.CompName and AddDate>a.AddDate)
    order by id
      

  3.   

    select * from tb  a
    where id in(select top 1 id from Table1 where CompName=a.CompName order by AddDate  desc) order by id
      

  4.   

    select * 
    from Table1 a
    where not exists(select top 1 * from Table1 where CompName=a.CompName and AddDate>a.AddDate)
    order by id
      

  5.   

    select * from tb a 
    where not exists(select * from tb where CompName=a.CompName and id>a.id )
      

  6.   

    select  a.*  from table1 a where not exists (select 1 from table1 where adddate>a.adddate and compname=a.compname)
      

  7.   

    select * from Table1 T where AddDate=(select top 1 AddDate from Table1 where CompName=T.CompName order by AddDate DESC )order by id