www.fltk.net > mysql 怎么删除重复的数据保留一条数据

mysql 怎么删除重复的数据保留一条数据

数据量不是很大的话可以用这个: select * from 表名 where id not in (select m.id from (select min(id) id from 表名 group by phone)m) 把表名换成你这个的表名

delete from `mygame_article` where title in (select title from `mygame_article` group by id having count(title) > 1) and id not in (select max(id) from `mygame_article` group by title having count(title) > 1); 随手写了个,前半...

delete from temp where id in (select id from (select max(id) as id,count(url) as count from temp group by url having count >1 order by count desc) as tab )

在语句中加个关键字就行了; select distinct domain from 表名; 查询的结果中就已经自动去重了

select * from table ###where not exists (select * from table ###where # = #and ## < ##) 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不...

这个需要分情况。 1,你的数据库表中有主键,且主键上面的数据为唯一值。也就是没有重复值。 那么你在删除的时候,将这个唯一值作为条件进行删除。 如: delete from [表名] where id=1 2.所有的数据相同,那么你只能打开数据表,手工选定其中某一...

select * FROM product p1 WHERE p1.pid in ( SELECT MIN(p2.pid) FROM product p2 group by pname having count(*)>1 ); 先用这个语句看一下是不是对的 再把select * 改为delete

删除重复行sql,将会删除所用重复的数据,保留一条不重复的数据 ALTER IGNORE TABLE your_tableADD UNIQUE INDEX idx_name (cols_a, cols_b, cols_c, cols_d, cols_e);

如果你的其他字段的值都一样,那么 select min(a.id),a.username,... from (你的sql) a group by a.username,a......

换个思路, 你再新建一个表,表里的字段跟你这个表的字段一样。。 然后 insert into select from 。。。。这里你应该懂了吧,, 就是去重查询之后,然后将结果集插入到指定的表中。。

网站地图

All rights reserved Powered by www.fltk.net

copyright ©right 2010-2021。
www.fltk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com