mysql删除重复数据只保留一条
来源:互联网 发布:ubuntu如何接入pppoe 编辑:程序博客网 时间:2024/04/28 16:15
简述
最近在做一个项目,涉及到需要同步远端数据库的数据到本地,由于误操作导致数据库里面的数据出现重复(冗余)ps: 由于数据量比较大,最后发现冗余了几万条记录so 手动删除,呵呵// 下面将以简单的例子来说明下如何处理这个 case
举个栗子
以mysql数据库为例:在数据库中建立数据表 [prefix_]article// 冗余表现在aid这列上,部分值出现了重复另外,主要是考虑到想在aid上建立一个唯一的索引,也实现部分查询优化id aid1 12 23 34 35 46 47 48 59 510 6......
-- aid 建立 unique indexcreate unique index article_aid_unique on article(aid);
问题分析
在mysql命令行中执行上面的sql语句,将报有重复值在aid列的错误,导致unique index 无法建立,原因很简单aid列有重复值存在需要做的是:处理数据表的数据,删除重复的数据只保留一条
问题处理
-- 思路:prefix_article自身连接,根据相同的aid匹配,然后根据主键id过滤, 形成并列的and条件,删除即可delete a1 from prefix_article a1, prefix_article a2 where a1.aid = a2.aid and a1.id > a2.id;-- 注意这个小于号也是可以的delete a1 from prefix_article a1, prefix_article a2 where a1.aid = a2.aid and a1.id < a2.id;
ps
-- sql distinct 语法select count (distinct aid) from article;
0 0
- mysql删除重复数据只保留一条
- mysql 删除重复数据只保留一条
- mysql 删除重复数据只保留一条
- mysql 删除重复数据只保留一条
- mysql删除重复数据只保留一条
- 【mysql】删除重复数据只保留一条
- mysql 删除重复数据只保留一条记录
- mysql删除重复记录只保留一条数据
- MySQL删除重复数据行,只保留一条
- mysql 删除重复数据只保留一条sql
- MySQL中删除重复数据只保留一条
- MySQL中删除表中重复数据,只保留一条
- MySQL中删除重复数据只保留一条
- MySQL中删除重复数据只保留一条
- mysql删除重复数据只保留id最大一条记录
- MySQL中删除重复数据只保留一条
- mysql 删除表中重复的数据,只保留一条
- MySQL中删除重复数据只保留一条
- UVALive 6657 GCD XOR
- iOS项目开发实战——如何使用Autoresizing进行屏幕适配
- knn代码
- 堆和栈的区别
- Android emulator 不能使用的问题
- mysql删除重复数据只保留一条
- Sublime Text 3 搭建C/C++ IDE 弹出控制台交互
- 对数据表示的认识
- vim中跨文件的多行拷贝
- 杭电acm--2029
- 看到有Java中Iterator和ListIterator,感觉不错
- 第三章 图层的几何和变换
- Mac Pro 下搭建maven环境
- C#编码规范