mysql删除表中某一字段重复的记录

2016-02-19 10:36 4 1 收藏

下面请跟着图老师小编一起来了解下mysql删除表中某一字段重复的记录,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

【 tulaoshi.com - 编程语言 】

比如,表:event(id int(10) auto_increment primary key,
                sid int(10)not null,
                detail text)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

我想删除表event中sid重复的记录,请问有没有这样SQL语句?或是通过其它方法?
代码如下:

delete from event as e 
where id != (select min(id) from event where sid=e.sid); 

or 
代码如下:

delete from event 
where sid not in (select mid from (select sid ,min(id) as mid from event group by sid)) 

应该是有用的代码
代码如下:

alter ignore table event add unique index idu_sid (sid);
alter table event drop index idu_sid;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1595182.html

延伸阅读
标签: MySQL mysql数据库
开发人员的噩梦——删除重复记录 想必每一位开发人员都有过类似的经历,在对数据库进行查询或统计的时候不时地会碰到由于表中存在重复的记录而导致查询和统计结果不准确。解决该问题的办法就是将这些重复的记录删除,只保留其中的一条。 在SQL Server中除了对拥有十几条记录的表进行人工删除外,实现删除重复记录一般都是写一段代码...
作为一个Oracle数据库开发者或者DBA,在实际工作中经常会遇到这样的问题:试图对库表中的某一列或几列创建唯一索引时,系统提示ORA-01452:不能创建唯一索引,发现重复记录。 下面我们以表code_ref为例来讨论这个问题及其解决办法。 ERROR位于第1行: ORA-01452: 无法 CREATE UNIQUE INDEX;找到重复的关键字 Oracle系...
Update `表名` SET title = CONCAT(title,'MV') where articleid=3487 and title not like '%v'  
标签: Web开发
Function RegExpTest(patrn, strng)  Dim regEx, Matches  Set regEx = New RegExp  regEx.Pattern = patrn  regEx.IgnoreCase = True ‘为真则忽略大小写,否则严格匹配大小写  regEx.Global = True  Set Matches ...
标签: 办公软件
在Excel中录入数据后,我们一般用高级筛选来处理删除重复的记录,Excel 2007保留了这个功能,同时又增加了一个“删除重复项”按钮,使操作更加简单、灵活。 一、传统方法:使用高级筛选 步骤如下: 1.单击数据区,选中其中的任一个单元格。如果只是针对其中部分字段和记录进行筛选,可先选中这部分区域。注意:只对连续选中的矩形区域有效...

经验教程

500

收藏

48
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部