服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - mysql删除表中某一字段重复的记录

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

2019-10-23 14:52mysql技术网 Mysql

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

比如,表: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; 

延伸 · 阅读

精彩推荐