【问题标题】:finding the minimal date_time within a window of time using sql使用 sql 在时间窗口内查找最小 date_time
【发布时间】:2022-01-27 10:34:53
【问题描述】:

我正在尝试使用 sql 对一些数据进行建模,我想生成的列是 date_started - 所有其他列都已给出。

date_started = 2 小时范围内具有相同 id1 和 id2 的最小 date_created 不属于任何其他行组。

例如,对于 date_created = 2021-11-02 05:23:41.769, date_started = 2021-11-02 05:23:41.769 本身。

因为 2021-11-02 04:10:39.823 在两个小时的范围内,但已经属于 2021-11-02 02:16:28.544 组。

id1 id2 date_created date_started
1 2 2021-11-02 02:16:28.544 2021-11-02 02:16:28.544
1 2 2021-11-02 02:52:52.504 2021-11-02 02:16:28.544
1 2 2021-11-02 04:10:39.823 2021-11-02 02:16:28.544
1 2 2021-11-02 05:23:41.769 2021-11-02 05:23:41.769
1 2 2021-11-02 06:33:11.564 2021-11-02 05:23:41.769
1 2 2021-11-02 08:30:14.564 2021-11-02 08:30:14.564

【问题讨论】:

  • 我相信这必须循环完成。

标签: sql postgresql


【解决方案1】:

有点不清楚您的意思是什么,因为您的描述可能与您的示例中所做的不同(是否应该在之前的“第一个”活动之间有 2 小时的间隔或有 2 小时的间隔时开始新的会话?没有活动?)。无论哪种方式,我认为查看sessionization 在这里可能会有所帮助(包括许多示例代码),因为这最终是您想要做的。

【讨论】:

    猜你喜欢
    • 2020-06-12
    • 2013-02-06
    • 2014-06-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 2021-01-25
    • 2012-04-24
    • 1970-01-01
    相关资源
    最近更新 更多