SQL删除重复数据,保留最近修改的一条记录。

使用update更新数据,可能是表设计问题,有重复项。想要根据type和xtype两列删除重复数据,保留最近一条记录。... 使用update更新数据,可能是表设计问题,有重复项。想要根据type和xtype两列删除重复数据,保留最近一条记录。 展开
 我来答
匿名用户
2015-07-03
展开全部
//取到最近一条记录
select type,xtype from 表名 where type='P' and xtype='3' order by execTime desc limit 1;
//拿到type和xtype两个值 type1 和 xtype1

delete from 表名 where type='P' and xtype='3' and type<>type1 and xtype<>xtype1;
这样就可以了。

如果你的表里面有id属性可以用一条sql语句解决:
delete from 表名 where type='P' and xtype='3' and id not in(select id from 表名 where type='P' and xtype='3' order by execTime desc limit 1)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
捐你妹8
推荐于2016-03-09 · TA获得超过638个赞
知道小有建树答主
回答量:351
采纳率:0%
帮助的人:365万
展开全部
delete from table
where type = 'P' and xtype = '3'
and execTime not in
(
select max(execTime) as execTime
from table
where type = 'P' and xtype = '3'
)

上述语句是基于最近修改的时间一定是所有重复数据中的最大的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式