1、oracle 删除重复记录,保留第一条记录:
delete from user_ where id in (select id from user_ group by id,name having count(*)>1)
and rowid not in(select min(rowid) from user_ group by name having count(*)>1)
2、mysql 删除重复记录,保留第一条记录:
//mysql 不能先select出同一表中的某些值,再update这个表(在同一语句中),因此不能像上面那样
//先select后再delete ,这里采用建立一个临时表的方式完成删除重复记录:
create table tmp as select userid from user group by pass,name having count(*)>1
//上面这条语句只能查到重复中的最小的记录,不知道为什么不是查处所有重复记录
delete from user where userid not in (select userid from tmp)
//这样就完成了删除重复记录的工作
//http://wenku.baidu.com/link?url=2qLwc8Wbnup5qHzwnrdt-PZ_YIQ2hA3dsg9Ug5EJCdSG9ciAiseWG8MVguosV5cXZ7o47JfgeQgnNpqIlNTRfKFF0eHQgLGaAPlQbmF7XLi
这个文档挺不错,以后慢慢看