select A=max(A),B=max(B),C,D from T group by C,D

解决方案 »

  1.   

    select * 
    from T
    where B in
    (select min(B) from T )
      

  2.   

    补充
    B 和D的类型为datetime
    A 和C的类型为char
      

  3.   

    不好意思,开始没把情况说清楚
    再补充
    在所有的(A,B)-->(C,D)中,至少存在一条记录B<=D,如果MAX(B) > D,那么M选1时不能选择这条。例如
    B(1,2,3),D(2),这时不能选择MAX(B)=B(3)只能选择B(2),也不能选择B(1),因为B(1)比B(2)小.