【发布时间】:2013-08-24 03:53:51
【问题描述】:
我正在尝试最有效的方法来计算 MySQL 表中的特定行数。
我的表包含一个名为date_time 的datetime 列,我想计算每个date_time 之间至少间隔30 分钟的行数。
例如,假设我有下表:
id date_time
1 2013-08-23 00:30:00
2 2013-08-23 00:45:00
3 2013-08-23 01:01:00
4 2013-08-23 02:30:00
5 2013-08-23 02:45:00
如果我只想在距上次条目至少 30 分钟后包含一个条目,则计数将包括 id #1 和 id #4,因此计数将为 2。
我正在尝试编写一个干净的脚本来执行此操作,是否有任何特殊类型的查询可以帮助我完成此操作?
【问题讨论】:
-
您的意思是 30 秒吗?因为您的数据肯定是在几秒钟内。
-
你的意思是第一次进入吗?当您的意思是“因此计数为 2”时,您的意思是要将其限制为 2 个结果吗?因为我不知道你会如何只选择 id 1 和 id 4,因为在 id 1 之后还有 30 秒以上。
-
@Prix 啊我的意思是分钟,我很抱歉。我会立即更新。谢谢迈克,该表有数千行,所以我不想限制为两个。我的意思也是分钟...
-
您是否只对“这一行和下一行之间的30分钟”感兴趣?例如,在上面的示例数据中,只有行
id 3是有效结果?这是一个正确的假设吗?