select a.* from TB A,
(select name,max(dates) as dates from TB 
GROUP by name ) B 
WHERE A.name=b.name and a.dates=b.dates

解决方案 »

  1.   

    select a.* from table a,(select b.name,max(dates) from table b) c where a.name=c.name
      

  2.   

    上面的写错了,改一下
    select a.* from table a,(select b.name,max(dates) from table b group by b.name) c where a.name=c.name
      

  3.   

    select * from table a where  exists(select top 1 * from table  name=a.name and dates=a.dates order by name,dates desc)
      

  4.   

    select  name,value,max(dates) as dates from tablename group by name,value
      

  5.   

    select * from yourtable A where A.dates = (select max(B.dates) from yourtable B where B.name = A.name )
      

  6.   

    select  N.name,S.value,N.dates from (select name,max(dates) as dates from tablename group by name)N
    left outer join (select * from tablename )S on N.name=S.name
      

  7.   

    要這麼復雜嗎?
    select name,value, max(dates) from table2 group by name,value
      

  8.   

    select  N.name,S.value,N.dates from (select name,max(dates) as dates from tablename group by name)N
    left outer join (select * from tablename )S on N.name=S.name and N.dates=S.dates
      

  9.   

    select a.* from TB a,(select name,max(dates) as dates from TB GROUP by name )b 
    WHERE a.name=b.name and a.dates=b.dates