当前位置:Gxlcms > mysql > sql删除重复记录

sql删除重复记录

时间:2021-07-01 10:21:17 帮助过:42人阅读

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

人气教程排行