我正在尝试导入来自不同卖家的产品数据,数据被导入到包含以下字段的导入表中: id=自动递增 sellerid=卖家 key sellerproductid=卖家为产品提供的产品 ID lastupdate=该项目更新的日期
因此卖家 A 的产品 ID 为 22,与卖家 B 的产品 ID 为 55 的产品相同。
当卖家 A 更改产品 A 的价格时,导入中将会出现一行。我目前有许多“历史”行,我只对获取最新的导入感兴趣
例如:
1 A 22 2012 01 22
2 A 22 2012 05 10
44 A 22 2012 11 10
我想像这样存档前两行:
insert into archive ....
values ( select * from import where id in(
select id from import
where `lastupdate` < max(`lastupdate`)
group by sellerid, sellerproductid
)
我无法找到正确的 mysql 语句来获取旧记录的 id。
最佳答案
这应该给出除最新条目之外的所有条目:
SELECT distinct t1.*
FROM import t1 inner join import t2
on t1.sellerid = t2.sellerid and t1.sellerproductid = t2.sellerproductid
where t1.lastupdate < t2.lastupdate;
关于mysql - 从表中删除旧记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13796190/