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

MYSQL
mysql Load Data InFile 的用法
MSSQL output使用
mysql 性能的检查和调优方法
mysql 的load data infile
MySQL 配置文件my.cnf 例子最详细翻译
MYSQL 随机 抽取实现方法及效率分析
mysql 存储过程的问题
Mysql my.ini 配置文件详解
mysql 控制台操作
mysql 服务完全卸载技巧
mysql 数据库设计
mysql 中文乱码 解决方法集锦
MYSQL 没有完全卸载将导致其安装不成功
mysql 教程 存储过程
asp.net 将图片上传到mysql数据库的方法
绿色版 mysql 安装配置
mysql root用户的密码修改和消除
MySQL 相关的环境变量
mysql 常用命令集锦[绝对精华]
linux mysql 安装与操作

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 92 ::
收藏到网摘: 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;