gpt4 book ai didi

SQL - 按 ID 分组和从变量起点开始的时间间隔

转载 作者:行者123 更新时间:2023-12-01 07:29:29 25 4
gpt4 key购买 nike

我有一个事件日志表,在每一行记录 ID 和 DT_EVENT,即:

ID     DT_EVENT
-------------------------
1 14-MAR-11 00:00:01
2 14-MAR-11 00:02:00
3 14-MAR-11 00:05:01
1 14-MAR-11 00:08:01
3 14-MAR-11 00:22:00
1 14-MAR-11 15:00:01
1 14-MAR-11 15:15:01

我需要按 ID 和 + 时间间隔进行分组,比方说,从 ID 的第一个事件开始 20 分钟。像这样的东西:

EV_GROUP    ID      DT_FIRST_EVENT      DT_LAST_EVENT          N_EVENTS
-----------------------------------------------------------------------
1 1 14-MAR-11 00:00:01 14-MAR-11 00:08:01 2
2 2 14-MAR-11 00:02:00 14-MAR-11 00:02:00 1
3 3 14-MAR-11 00:05:01 14-MAR-11 00:22:00 2
4 1 14-MAR-11 15:00:01 14-MAR-11 15:15:01 2

我不确定如何为该 dt 间隔设置组子句。对此有什么想法吗?

最佳答案

SELECT  id, diff, MIN(dt_event), MAX(dt_event)
FROM (
SELECT t.*,
TRUNC((dt_event - FIRST_VALUE(dt_event) OVER (PARTITION BY id ORDER BY dt_event)) * 86400 / 1200) AS diff
FROM mytable t
)
GROUP BY
id, diff

关于SQL - 按 ID 分组和从变量起点开始的时间间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5662133/

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