要快速查看重复的行,您可以运行一个简单的查询
在这里,我正在查询表并列出所有具有相同 user_id、market_place 和 sku 的重复行:
select user_id, market_place,sku, count(id)as totals from sku_analytics group by user_id, market_place,sku having count(id)>1;
要删除重复的行,您必须决定要删除哪一行。例如,具有较低 id(通常较旧)或其他一些日期信息的那个。就我而言,我只想删除较低的 id,因为较新的 id 是最新信息。
首先仔细检查是否会删除正确的记录。在这里,我在将被删除的重复项中选择记录(通过唯一 ID)。
select a.user_id, a.market_place,a.sku from sku_analytics a inner join sku_analytics b where a.id< b.id and a.user_id= b.user_id and a.market_place= b.market_place and a.sku = b.sku;
然后我运行删除查询来删除欺骗:
delete a from sku_analytics a inner join sku_analytics b where a.id< b.id and a.user_id= b.user_id and a.market_place= b.market_place and a.sku = b.sku;
备份,仔细检查,验证,验证备份然后执行。