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

MYSQL
Timeout error occurred trying to start MySQL Daemon
Phpcms2008网站内容管理系统免费开源
PHP教程:常用mysql操作
MySQL教程:Order By用法
MYSQL导入数据Got a packet bigger than...错误
MySQL安装向导所作的更改
MySQL教程:Order By索引优化
MySQL教程:Order By语法
MySQL教程:Order By Rand()
MySQL教程:Replace INTO说明
MySQL server has gone away问题原因
MySQL教程:Group By用法
MySQL命令终端有beep声
mysql与sqlserver的所有区别
SQLite数据库最适合做网站内容管理系统(CMS)
mysql proxy问题
Windows下PHP+MySQL+IIS安全平台搭建
e2php搭建Windows下Apache+PHP+MySQL环境
PHP简单学习,保证入门学会
MYSQL的DATE_FORMAT()格式化日期

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


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