当前位置: 首页 > 图文教程 > 数据库 > MYSQL > mysql删除表中某一字段重复的记录

MYSQL
MySQL查询优化
优化MySQL数据库查询的三种方法
MySQL优化之数据类型的使用
建立MySQL数据库日常维护规范
MySQL数据库性能优化妙招
如何修复MySQL数据库表
MySQL数据库之UPDATE更新语句精解
分步启动数据库以重命名数据文件
使用实例管理器轻松管理多个MySQL实例
认识MySQL数据库对服务器端光标的限制
菜鸟课堂:玩转MySQL数据库 性能优化八法
深入浅出MySQL双向复制技术
MySQL百万级高并发网站实战攻略
5招优化MySQL插入方法
MySQL 集群配置
SQL Server数据库备份出错及应对措施
mysql3升级到mysql5解决乱码心得
数据库基础:MySQL 添加用户的两种方法
浅谈MySQL存储引擎选择 InnoDB还是MyISAM
数据库安全应用 使用MySQL的23个注意事项

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 131 ::
收藏到网摘: n/a

一般大家也许会碰到这个问题,大家可以参考下,讲的比较详细

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

我想删除表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;