select* from table a where a.riqi in (select max(b.riqi) from table b group by left(b.riqi,4))

解决方案 »

  1.   

    select* from table a 
    where a.riqi in (
                     select max(b.riqi) 
                     from table b 
                     group by left(b.riqi,4))
      

  2.   

    感谢yrwx001 和lhsxsh  ,你们的方法中有一个小问题,就是riqi 是datetime型的,我改了一下
     left(b.riqi,4)) 改成 CONVERT(char(4), b.riqi,21) 就对了