我在我的数据库中有一个表来存储用户数据。我在代码中发现了一个缺陷,即将数据添加到此表数据库,如果发生网络超时,代码会使用先前用户的数据更新下一个用户的数据。我已经解决了这个缺陷,但我需要清理数据库。我添加了一个标志来指示需要忽略的行,并且我的目标是将这些标志相应地标记为重复项。在某些情况下,重复值可能实际上是合法的,所以我更有兴趣找到具有相同数据的多个用户(即u> 2)。从mySQL数据库表中删除重复的用户条目
下面是一个例子(表名=数据):
ID ---- ---- USER_ID DATA1 ---- ---- DATA2 DATA3 ---- -----日期时间------国旗
1 ----- usr1 -------- 3 ---------- 2 --------- 2-- ------- 2012-02-16 ..----- 0
2 ----- usr2 -------- 3 ---------- 2 --------- 2 --------- 2012-02-16 ..----- 0
3 ----- usr3 ------ --3 ---------- 2 --------- 2 --------- 2012-02-16 ..----- 0
在这种情况下,我想将1和2标记标记为1(表示忽略)。由于我们知道usr1是原始数据点(假设最早的日期在列表中较早)。
此时表中有太多条目,我不确定识别具有重复条目的用户的最佳方式。
我正在寻找一个mysql命令来识别问题数据,然后我就可以标记条目。有人能指引我朝着正确的方向吗?
感谢您的回复。这看起来是正确的方法。我能够看到一些重复但不在用户之间 - 我在同一用户中看到重复的数据,这对我来说没问题;我更关心不同的用户在同一时间段内拥有相同的数据(在几分钟到45分钟内)。这可以轻松完成吗? – user836200 2012-02-16 17:36:31
嗨,我更新了我的答案,希望它可以帮助你。 – biziclop 2012-02-16 18:55:14
谢谢!这非常有帮助! – user836200 2012-02-17 02:41:10