select * from 表 a 
where TDATE in (select max(TDATE) from 表 group by ID)

解决方案 »

  1.   

    上面理解错误
    select a.* from 表 a ,(select max(TDATE) as TDATE,ID from 表 group by ID) b
    where a.TDATE=b.TDATE and a.ID=b.ID
      

  2.   

    select [TDate]=max(TDate),
           ID,
           [AMOUNT]=sum(AMOUNT)
    from 表
    group by ID
      

  3.   

    select
        a.*
    from
        表 a
    where
        a.ID = (select top 1 ID from 表 where TDATE=a.TDATE)
      

  4.   

    select
        a.*
    from
        表 a
    where
        not exists(select 1 from 表 where ID=a.ID and TDATE>a.TDATE)
      

  5.   

    select
        a.*
    from
        表 a
    where
        a.TDATE = (select top 1 ID from 表 where ID=a.ID order by TDATE desc)