当前位置:数据库 > MySQL >>

求MYSQL中某字段内的重复数据以及删除重复保留一条

数据库: show 数据表: tbl_vod 字段: d_name 查找字段 d_name 中重复的数据 select d_name,count(d_name) from tbl_vod group by d_name having count(d_name)>1 这个语句可以查出来某个数据重复的次数,,我想删除里面的重复保留一个要怎么写呢 或让他全部显示我手工删除 ,现在查询出来只能显示某个数据的重复次数 没办法选择删除
答案:delete from tbl_vod where id not in
 (select id from (select id from tbl_vod group by d_name having count(d_name)>1) as a)
mysql不支持在同一个表查询之后,做修改、删除操作。
删除的思路是,
1、select id from tbl_vod group by d_name having count(d_name)>1 找到需要保留的id
2、 select id from (select id from tbl_vod group by d_name having count(d_name)>1) as a
      把需要保留的结果指定新的表名,找到保留id
3、执行删除操作
其他:可以先筛选出所有不重复的,然后再保留到一个新表。
create table new_table as select d_name from tbl_vod group by d_name 
这个时候tbl_vod 这个表如果你不想要就直接drop table tbl_vod 。 

上一个:怎样把一个.sql的文件导入mysql数据库中
下一个:用php 获取淘宝商城(Tmall)网站商品数据的信息,并保存到数据库(Mysql)中

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,