gpt4 book ai didi

查询之间的mysql时间戳

转载 作者:太空宇宙 更新时间:2023-11-03 12:35:59 25 4
gpt4 key购买 nike

在下面我有一个表 1,表 2,我被一个查询卡住了。我想在表 2 中找到时间戳,它们在表 1 的两个连续时间戳之间。如何形成这个查询。

表 1:

   id    timestamp
1 2012-08-15 01:11:11
1 2012-08-15 01:11:14
1 2012-08-15 01:11:16
2 2012-08-15 01:22:11
2 2012-08-15 01:32:11
2 2012-08-15 01:33:11
2 2012-08-15 01:36:11

表 2:

   id    timestamp
1 2012-08-15 01:11:12
1 2012-08-15 01:11:15
1 2012-08-15 01:11:16
2 2012-08-15 01:23:55
2 2012-08-15 01:26:11
2 2012-08-15 01:34:11
2 2012-08-15 01:36:01

期望的输出:获取表 1 的时间戳之间的表 2 的所有行,如果可能的话还输出表 1 的时间戳

最佳答案

table1连接到自身然后分组找到连续的时间戳,然后根据需要将结果连接到table2:

SELECT *
FROM table2 JOIN (
SELECT a.timestamp start, MIN(b.timestamp) finish
FROM table1 a JOIN table1 b ON a.timestamp < b.timestamp
GROUP BY a.timestamp
) t ON table2.timestamp BETWEEN t.start AND t.finish

查看sqlfiddle .

关于查询之间的mysql时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13159966/

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