表emp中有主键empid,现在我想要删除非主键字段empno重复的记录,高手指点一下,写个具体的语句

解决方案 »

  1.   

    delete from emp a,(select empno from emp group by empno having count(*)>1) b where a.empno=b.empno;
      

  2.   

    delete emp,(select distinct empno,empid from emp) b where emp.empid !=b.empid 
      

  3.   

    delete a  from emp a left join (select min(b.empid) as bid from emp b group by b.empno) as c on c.bid=a.empid where c.bid is null;
      

  4.   

    "现在我想要删除非主键字段empno重复的记录"
    ------------------------
    是要删除重复的所有记录?还是保留某一条记录(如最大或最小等条件)?