gpt4 book ai didi

mysql - 如何选择每个间隔的最大时间戳和最小时间戳

转载 作者:行者123 更新时间:2023-11-29 14:31:48 26 4
gpt4 key购买 nike

enter image description here

我将使用 mysql 或 postgresql。

是否可以通过section2选择每个区间的最大和最小时间戳?

例如:

red block:2018-05-27 15:11:49~2018-05-27 15:11:54
green block:2018-05-27 15:11:55~2018-05-27 15:12:12
yellow block:2018-05-27 15:12:13~2018-05-27 15:12:16

最佳答案

这是一个差距和孤岛问题。我强烈建议使用 Postgres。使用行号的差异很容易解决:

select section1, section2, min(datetime), max(datetime)
from (select t.*,
row_number() over (partition by section1 order by datetime) as seqnum_1,
row_number() over (partition by section1, section2 order by datetime) as seqnum_12
from t
) t
group by (seqnum_1 - seqnum_12);

行号的差异标识了您感兴趣的部分。原因有点难以解释,但是如果您运行子查询,您可以看到发生了什么——对于每个感兴趣的部分,差异是恒定的。

相同的代码将在 MySQL 8.0 中运行。但是,较早版本的MySQL不支持窗口函数,因此计算起来比较费力。

关于mysql - 如何选择每个间隔的最大时间戳和最小时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50667263/

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