SQL语句——重复记录

1.查找重复记录:

(按id查找)

select * from user_info 
  where 
  id in
  (
     select id from user_info
     group by 
       id 
     having count(id)>1
  )

即:select * from user_info where id in(select id from user_info group by id having count(id)>1)

2.删除重复记录:

    不保留重复记录,只需把上面的select * from 改成 delete from 就可以了。

  保留一条重复记录:

delete from user_info 
where name in (select name from user_info group by name    having count(name) > 1) 
and   
id not in (select min(id) from user_info group by name having count(name)>1)

 

posted @ 2013-12-17 14:39  艺言弈行  阅读(312)  评论(0编辑  收藏  举报