SQL删除重复数据,保留最近修改的一条记录。
发布网友
发布时间:2022-04-28 19:45
我来回答
共2个回答
热心网友
时间:2022-04-07 18:36
//取到最近一条记录
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)
热心网友
时间:2022-04-07 19:54
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'
)
上述语句是基于最近修改的时间一定是所有重复数据中的最大的。