sql 删除重复记录本文章提供了大量的sql 删除重复记录语句,如果你正在愁如何把数据库重复的数据给删除的话,我们为你提供了多种删除重复记录的sql查询语句。
sql 删除重复记录
本文章提供了大量的sql 删除重复记录语句,如果你正在愁如何把重复的数据给删除的话,我们为你提供了多种删除重复记录的sql查询语句。
select a.*
from temp a inner join (select name,sex from temp group by name,sex having count(*)>1 ) b
on a.name = b.name and a.sex = b.sex
//来看个删除重复记录实例
//user 表结构
create table user(
varchar(20) uname notnull;
varchar(16) upass ;
);
//建立临时表,并复制user表中不重复的数据
create table user_tmp as select distinct * from user;drop table user;//删除user表
alert user_tmp rename user;//将user_tmp表重命名为user
//另一种方法
delete ccs_users
where userid in(
select max(userid) from ccs_users group by userid having count(*)>1)
看来看一人sql删除重复记录实例
例如:
id?name?value
1?a?pp
2?a?pp
3?b?iii
4?b?pp
5?b?pp
6?c?pp
7?c?pp
8?c?iii
id是主键 要求得到这样的结果
id?name?value
1?a?pp
3?b?iii
4?b?pp
6?c?pp
8?c?iii
方法1
delete?yourtable?
where?[id]?not?in?(
select?max([id])?from?yourtable?
group?by?(name?+?value))方法2
delete?a
from?表?a?left?join(
select?id=min(id)?from?表?group?by?name,value
)b?on?a.id=b.id
where?b.id?is?null