SQL:根据时间戳差异查找/删除每个成员的条目

时间:2017-07-10 08:53:08

标签: mysql sql group-by

我有一个带有以下关键字段的MySQL动作表(所有这些都是整数):

Actions
id | member_id | timestamp (seconds)

此表保留每个成员执行的所有操作。

我的问题:有错误插入的条目。我需要找到(最终删除)时间戳差小于1天(86400秒)的每个成员的所有操作

例如,对一个成员采取以下4个动作:

id | member_id | timestamp  | (difference)
---|-----------|------------|----------
1  |     1     | 1499500834 | 
2  |     1     | 1499580834 | 80000 (22 hours)
3  |     1     | 1499640834 | 60000 (16 hours)
4  |     1     | 1499700834 | 60000 (16 hours)

我需要确定:

  • 第一个有效(因为它是第一个注册的行动)
  • 第二个无效(< 24小时与上一个有效:第一个相比)
  • 第3个有效(> 24小时与上次有效:1个相比)
  • 第4个无效(< 24小时与上次有效:3个相比)

然后删除第2和第4个。

我如何在SQL中解决这个问题?

0 个答案:

没有答案