【发布时间】:2020-10-26 18:31:34
【问题描述】:
在我的 SQLite 表中,我有以下字段(timestamp、zone_id、object_count 和 object_ids),这些是人们在区域中排队的数据。每当有人加入队列时,他都会被传感器捕获并分配一个object_id。 timestamp 是传感器服务器每秒向数据库发送的数据。
我需要找到队列中每个 object_ids 的持续时间,以使用烧瓶框架计算和显示我的 Web 应用程序中的等待时间。比如object_ids(2166)在2020-10-19 17:03:46.000000进入队列,在2020-10-19 17:03:50.000000离开,他的排队时间是5秒。简单的逻辑是从object_id 最后出现的时间戳中减去object_id 第一次出现时的时间戳。
# timestamp zone_id object_count object_ids #
2020-10-19 17:03:43.000000 10 2 ['2140', '2143']
2020-10-19 17:03:44.000000 10 2 ['2140', '2143']
2020-10-19 17:03:45.000000 10 2 ['2140', '2143']
2020-10-19 17:03:46.000000 10 3 ['2140', '2143', '2166']
2020-10-19 17:03:47.000000 10 3 ['2140', '2143', '2166']
2020-10-19 17:03:49.000000 10 3 ['2140', '2143', '2166']
2020-10-19 17:03:50.000000 10 3 ['2140', '2143', '2166']
2020-10-19 17:03:51.000000 10 2 ['2140', '2143']
2020-10-19 17:03:53.000000 10 2 ['2140', '2143']
如何查询和解决?
【问题讨论】:
-
你在做这个的时候遇到了什么困难?
-
@mkrieger1 我是 sqlite 语法的新手,我不确定编写它的正确方法。如果有人能指出正确的方法,将不胜感激。
-
这里显示了正确的方法:docs.python.org/3/library/sqlite3.html
-
object_ids的数据类型是什么?
-
@forpas object_ids 的数据类型是字符串。