方法一:
delete from employee where rowid not in (select max(t1.rowid) from employee t1 group by t1.emp_id,t1.emp_name,t1.salary);
解析:任何记录的ROWID只有一个值,在数据库里面是唯一的,select max(t1.rowid) from employee t1 group by t1.emp_id,t1.emp_name,t1.salary
这个是查到最大值(那两条相同的记录中rowid最大的)。
delete from employee where rowid not in
这段意思是说删除那些不是最大rowid的记录。
方法二:
delete from employee e2 where rowid not in (select max(e1.rowid) from employee e1 where e1.emp_id=e2.emp_id and e1.emp_name=e2.emp_name and e1.salary=e2.salary)
方法三:
建立一个表, 用DISTINCT