2012-12-10 197 views
0

我試圖從不同賣家導入產品數據,數據導入到包含以下字段的導入表中: id =自動增量 sellerid =賣方的關鍵 sellerproductid =產品ID賣方給予產品 LASTUPDATE =該項目已更新從表中刪除較舊的記錄

所以賣家A可以有產品編號22女巫是同一種產品的日期爲產品ID賣方乙55

當賣家A轉換產品A的價格在進口中會有一條線。我現在有不少「歷史」線和我只是在獲得最新的進口

的例如興趣:

1 A 22  2012 01 22 
2 A 22  2012 05 10 
44 A 22  2012 11 10 

我想歸檔第2行,像這樣:

insert into archive .... 
values (select * from import where id in(
select id from import 
where `lastupdate` < max(`lastupdate`) 
group by sellerid, sellerproductid 
) 

我很難找到正確的mysql語句來獲取較舊記錄的ID。

回答

2

這應該給所有,但最新的條目:

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; 
+0

完美,謝謝。在這裏,我試圖弄清楚爲什麼在我不選擇需要分組或最大化的列時要使用分組和最大值。 – HMR

+0

不客氣! :) – Subodh