Heim > Datenbank > MySQL-Tutorial > sql 删除重复记录

sql 删除重复记录

WBOY
Freigeben: 2016-06-07 17:47:37
Original
1060 Leute haben es durchsucht

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage