【发布时间】:2009-07-26 12:47:59
【问题描述】:
我有一个基于事件的表,我想生成一个查询,按分钟查询正在发生的事件数。
例如,我有一个像这样的事件表:
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
);
现在我想创建一个查询,该查询将按特定分钟内活跃的会话数对会话进行分组。我基本上会得到类似的东西:
TIME_INTERVAL ACTIVE_SESSIONS
------------- ---------------
18:00 1
18:01 5
18:02 3
18:03 0
18:04 2
【问题讨论】:
-
如果已经有了“start_ts”和“end_ts”,“duration”是什么意思?
-
我本可以忽略它......这不是问题的日耳曼。在我的实际情况中,我确实使用了类似的方法来避免在对持续时间进行查询时计算查询的差异。
-
精确计算直到下一次更改的间隔不是更好吗?这些行看起来像“18:00:32 | 18:04:17 | 1”,计算起来会容易得多。这种“开始|结束|计数”的信息样式可以更容易地绘制图表等。
-
恐怕你已经失去了我。在一天结束时,我需要能够在一段时间内绘制在给定时间段(例如分钟)内有多少“会话”处于活动状态。虽然我很欣赏这些想法,但恐怕我正在寻找我提出的问题的答案,对不起......
-
这正是我提出的答案所提供的。那有什么问题?我没有实施我的额外“开始|结束|计数”提案。