删的慢 用替换表create table tmp
select  * from tb  A
where not exits (select 1 from tb A.TransportID=TransportID and A.TransportName=TransportName and A.autoid < autoid )drop table tb;
alter table tmp rename tb;

解决方案 »

  1.   


    例如
    autoid    TransportID   TransportName  
       1          001            例子
       2          001            例子
       3          002            例子2
    现在就想删除  TransportID 和 TransportName  字段相同的数据  , 但要保留一条 
      

  2.   

    delete a from tt a inner join
    (select TransportID,TransportName,min(id) as aa from tt group by TransportID,TransportName) b
    on a.TransportID=b.TransportID and a.TransportName=b.TransportName
    and a.id=b.aa
      

  3.   

    4楼的改为:delete a from  t_base_transport_info a inner join(select TransportID,TransportName,min(autoid) as autoid from  t_base_transport_info group by TransportID,TransportName having count(1)>1) bon a.TransportID=b.TransportID and a.TransportName=b.TransportNameand a.autoid>b.autoid
      

  4.   

    or
    delete a from tt a inner join
     (select TransportID,TransportName,min(autoid) as aa from tt group by TransportID,TransportName) b
     on a.TransportID=b.TransportID and a.TransportName=b.TransportName
     and a.autoid>b.aa