热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

sql删除重复记录

sql删除重复记录本文章提供了大量的sql删除重复记录语句,如果你正在愁如何把数据库重复的数据给删除的话,我们为你提供了多种删除重复记录的sql查询语句。

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


推荐阅读
author-avatar
刘刘刘存乐_626
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有