gpt4 book ai didi

sql - 如何在 SQLite 中生成时间间隔查询?

转载 作者:行者123 更新时间:2023-12-03 17:01:21 24 4
gpt4 key购买 nike

我有一个基于事件的表,我想生成一个查询,按分钟查询发生的事件数。

例如,我有一个事件表:

CREATE TABLE events (
session_id TEXT,
event TEXT,
time_stamp DATETIME
)

我已将其转换为以下类型的表格:

CREATE TABLE sessions (
session_id TEXT,
start_ts DATETIME,
end_ts DATETIME,
duration INTEGER
);

现在我想创建一个查询,根据特定分钟内事件的 session 数对 session 进行分组。我基本上会在哪里得到类似的东西:

TIME_INTERVAL ACTIVE_SESSIONS
------------- ---------------
18:00 1
18:01 5
18:02 3
18:03 0
18:04 2

最佳答案

好吧,我想我得到了更多我想要的东西。它不考虑空间隔,但足以满足我的需要。

select strftime('%Y-%m-%dT%H:%M:00.000',start_ts) TIME_INTERVAL, 
(select count(session_id)
from sessions s2
where strftime('%Y-%m-%dT%H:%M:00.000',s1.start_ts) between s2.start_ts and s2.end_ts) ACTIVE_SESSIONS
from sessions s1
group by strftime('%Y-%m-%dT%H:%M:00.000',start_ts);

这将在数据涵盖的时间段内每分钟生成一行,其中包含已开始 (start_ts) 但尚未完成 (end_ts) 的 session 数计数。

关于sql - 如何在 SQLite 中生成时间间隔查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1184499/

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