我有一台服务器在每次访问时向数据库添加多条记录。服务器在每次访问的2-5个记录之间完成了它。所有的数据都是相同的期望时间戳。我想每次访问只保留1条记录。并删除其他记录。在mysql中删除时间戳间隔小于5秒的重复行
之前:
+----+----------------------+------+--------+
| id | timestamp | user | action |
+----+----------------------+------+--------+
| 1 | 01-01-01-16 03:02:05 | 5 | visit |
| 2 | 01-01-01-16 03:02:06 | 5 | visit |
| 3 | 01-01-01-16 03:02:05 | 6 | watch |
| 4 | 01-01-01-16 03:02:06 | 6 | watch |
| 5 | 01-01-01-16 03:04:05 | 9 | visit |
| 6 | 01-01-01-16 03:04:06 | 9 | visit |
| 7 | 01-01-01-16 03:04:07 | 9 | visit |
| 8 | 01-01-01-16 03:04:35 | 2 | see |
+----+----------------------+------+--------+
预期结果:
+----+----------------------+------+--------+
| id | timestamp | user | action |
+----+----------------------+------+--------+
| 1, | 01-01-01-16 03:02:05 | 5 | visit |
| 3, | 01-01-01-16 03:02:05 | 6 | watch |
| 4, | 01-01-01-16 03:02:06 | 6 | watch |
| 5, | 01-01-01-16 03:04:05 | 9 | visit |
| 8, | 01-01-01-16 03:04:35 | 2 | see |
+----+----------------------+------+--------+
换句话说:正如所看到的,线1,2是相同的。同一个用户,并且只有一秒之间。所以我删除线2.4,我不碰线,因为它不是一个访问
我有查询的开头:delete from table where id in(...)
查看http://sensefulsolutions.com/2010/10/format-text-as-table.html创建更好的表 –
那么访问多少时间是考虑同一条记录? –
最多5秒 – Aminadav