我已经从API收集了数据以建立历史记录。初始时,我每五分钟保存所有值。后来,我改变了我的程序,只保存发生变化的数据。
现在,我想清理旧数据并删除所有计数没有从同一
现在,我想清理旧数据并删除所有计数没有从同一
账户(account)
和id
的上一条记录中变化的值。account id count time
42 12147 492 2015-09-20 11:31:14.0
42 12147 492 2015-09-20 11:36:19.0 // delete
13 12147 246 2015-09-20 11:31:14.0
2 12253 183 2015-09-20 11:36:19.0
2 19684 805 2015-09-20 12:00:41.0 // note in next comment
2 19684 810 2015-09-20 12:05:41.0
2 19684 805 2015-09-20 12:10:41.0 // we had this combination, but don't delete this record because the previous value was different
2 19684 805 2015-09-20 12:15:41.0 // delete
2 19684 805 2015-09-20 12:20:41.0 // delete
2 19684 806 2015-09-20 12:25:41.0
我尝试使用group by
对account
、id
和count
进行解决。然而,这种方法会删除非连续的重复记录——也就是说,如果某个记录在一段时间后再次出现相同的值,则会落入同一组。
我还考虑编写一个小脚本,遍历所有数据,并在当前行的account
、id
和count
与上一条记录相同时删除它,但我很好奇是否可以用一个单独的SQL语句来实现?