select min(id),data1,data2 from t group by data1,data2
这样行不?

解决方案 »

  1.   

    declare @t table(ID int,data1 int ,data2 char(1))
    insert @t select 1,1,'a'   
    insert @t select 2,2,'b'   
    insert @t select 3,2,'b'   
    insert @t select 4,3,'c'   
    insert @t select 5,3,'c'   
    insert @t select 6,4,'d'select *
    from @t a 
    where not exists (select 1 from @t where data1 = a.data1 and data2 = a.data2 and id <a.id)/*ID          data1       data2 
    ----------- ----------- ----- 
    1           1           a
    2           2           b
    4           3           c
    6           4           d*/
      

  2.   

    declare @t table(ID int,data1 int ,data2 char(1))
    insert @t select 1,1,'a'   
    insert @t select 2,2,'b'   
    insert @t select 3,2,'b'   
    insert @t select 4,3,'c'   
    insert @t select 5,3,'c'   
    insert @t select 6,4,'d'
    select min(id) id,data1,data2 from @t group by data1,data2