gpt4 book ai didi

php - 根据时间戳字段之间的差异过滤 MySQL 查询

转载 作者:行者123 更新时间:2023-11-29 21:52:43 25 4
gpt4 key购买 nike

我有一个像这样的表:

 RCD_ID      ID           TIMESTAMP
--------|-----------|---------------------
1, 2737738826, '2015-10-30 16:19:17'
3, 2737738826, '2015-10-30 16:22:46'
4, 2737738826, '2015-10-30 16:24:36'
5, 2737738826, '2015-10-30 16:29:49'
7, 2737738826, '2015-10-30 16:40:02'
9, 2737738826, '2015-10-30 17:11:55'

我需要过滤结果集,以便每条记录之间的“距离”为 20 分钟:

 RCD_ID      ID          TIMESTAMP
--------|-----------|---------------------
1, 2737738826, '2015-10-30 16:19:17'
7, 2737738826, '2015-10-30 16:40:02'
9, 2737738826, '2015-10-30 17:11:55'

[错误问题:哪种方法是最好(也是最快)的?]

正确的问题:有人能给我一些如何开始的建议吗?

编辑

我在表中添加了一个 record_id 字段,我尝试这个查询:

select m.*,
(select m2.rcd_id
from tbl_data m2
where (m2.rcd_id > m.rcd_id) AND (TIMESTAMPDIFF(MINUTE, m.log_timestamp, m2.log_timestamp) >= 30)
order by m2.rcd_id limit 1) as m2
from tbl_data as m

但它返回所有记录。我走的路对吗?

谢谢。

最佳答案

尝试将表(我使用名称“日志”)连接到自身,并仅保留那些满足您的时间限制的记录,例如:

从日志 AS t1、日志 AS t2 中选择*,其中 t1.ID = t2.ID AND t1.TIMESTAMP != t2.TIMESTAMP AND TIMESTAMPDIFF(MINUTE, t1.TIMESTAMP, t2.TIMESTAMP) = 20

关于php - 根据时间戳字段之间的差异过滤 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33475375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com