我创建了一个MySQL表,并且在过去几周内已经填满了。 现在我发现有些行包含重复项
字段deviceId, counter1, counter2
一起是唯一索引。但是我不能改变表格,因为有重复。所以我的问题是如何使用MySQL查询删除这些重复项
条目在counter1
和/或counter2
*deviceId ts counter1 counter2*
device001 2018-06-11 10:18:51 1 2
device001 2018-06-11 10:23:10 1 2
device002 2018-06-12 08:27:33 321 20
device002 2018-06-12 09:49:13 321 20
从这些副本中删除1。关于如何做到这一点的任何建议?我尝试过以下方法:
创建了表
的副本CREATE TABLE sp_data_copy LIKE sp_data_orig;
INSERT sp_data_copy SELECT * FROM sp_data_orig;
从复制表中选择并删除
DELETE FROM sp_data_copy
WHERE ts IN (
SELECT ts
FROM sp_data_orig
GROUP BY counter1, counter2
HAVING COUNT(*) > 1);
但显然它对我不起作用。希望你有一些建议。 提前致谢