本帖最后由 student_2008 于 2011-06-18 11:21:50 编辑

解决方案 »

  1.   

    select * from a where a.zd3 = (select max(zd3) from a  b where a.zd1=b.zd1) 
      

  2.   

    SELECT *
      FROM a
     WHERE NOT EXISTS (SELECT *
              FROM a b
             WHERE b.zd1 = a.zd1
               AND b.zd3 > a.zd3);
      

  3.   

    select * from b d where not exists(select 1 from b where zd1=d.zd1 and d.ZD3<ZD3)order by d.ZD3
      

  4.   

    select (select a2.id
              from a a2
             where a2.zd1 = a1.zd1
               and a2.zd3 = (select max(a3.zd3) from a a3 where a3.zd1 = a1.zd1)) as id,
           a1.zd1,
           (select a2.zd3
              from a a2
             where a2.zd1 = a1.zd1
               and a2.zd3 = (select max(a3.zd3) from a a3 where a3.zd1 = a1.zd1)) as zd3
      from a a1
     group by a1.zd1
     order by a1.zd1
      

  5.   

    1楼的sql不严密 如果时间有相同的 可能会有问题 
    2楼的可以 比我的好 学习了