mysql 删除2个字段重复的记录

比如list表里面有title字段、xname字段这两个字段。我想查询并且删除这2个字段和表里面其他记录完全重复的(需满足title字段、xname字段都是重复的这个条件... 比如list表里面有title字段、xname字段 这两个字段。
我想查询并且删除这2个字段和表里面其他记录完全重复的(需满足title字段、xname字段都是重复的这个条件)应该怎么写?

下面是可以查询并删除title字段的参考语句(删除表里面重复的tite字段,并保留最小的id的一条记录):
create table tmp as select min(id) as col1 from 表名 group by title;
delete from 表名 where id not in (select col1 from tmp);
drop table tmp;
(我的要求就是能不能改成,删除表里面重复的title字段和xname字段2条字段都重复的记录)
展开
 我来答
x403879785
推荐于2016-01-01 · TA获得超过3839个赞
知道大有可为答主
回答量:1299
采纳率:100%
帮助的人:1170万
展开全部
那你要满足两个条件、两个字段同时重复、
那就按这两个字段分组啊
单一字段分组查出单一字段相同、双字段分组、双字段同时相同。
create table tmp as select min(id) as col1 from 表名 group by title;
这个是title相同的取最小ID、
create table tmp as select min(id) as col1 from 表名 group by title,xname;
这不就是title和xname同时相同的行中、取id最小的一行?
然后
delete from 表名 where id not in (select col1 from tmp);
不是这个id的就删除、
drop table tmp;
li568298427
2012-04-07 · 超过18用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:43万
展开全部
你要用一个php文件来做这个,就简单多了。要是用mysql做,可以试试存储过程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanghao_kjlink
2012-04-07 · TA获得超过607个赞
知道小有建树答主
回答量:561
采纳率:100%
帮助的人:270万
展开全部
能不能描述清楚一点啊,看着都困了
追问
删除表里面重复的title和xname这2个字段,条件是这2个字段都重复了才删除。
追答
那我想问你,如果多条记录重复你选择哪一条?如果说随便选择任意一条,那你根据这两个字段分组就行了,否则你得需要条件的进行筛选
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式