Database SQLite:查询特定的时间跟踪场景
我有一个特定的场景来跟踪库存物品的进出时间 我有以下格式的库存跟踪表Database SQLite:查询特定的时间跟踪场景,database,sqlite,datetime,self-join,Database,Sqlite,Datetime,Self Join,我有一个特定的场景来跟踪库存物品的进出时间 我有以下格式的库存跟踪表 Inv_id in_time out_time 1) I_1111 2015-11-29 21:05:00. 2015-12-01 03:00:00 2) I_1111 2015-12-01 05:00:00. 2015-12-01 09:00:00 3) I_1111 2015-12-01 15:00:00. 2015-12-01 17:00:00 4)
Inv_id in_time out_time
1) I_1111 2015-11-29 21:05:00. 2015-12-01 03:00:00
2) I_1111 2015-12-01 05:00:00. 2015-12-01 09:00:00
3) I_1111 2015-12-01 15:00:00. 2015-12-01 17:00:00
4) I_1111 2015-12-01 21:00:00. NULL
(record_2's in_time- record_1's out_time) + ( record_3's in_time- record_2's out_time)
对于给定的库存,依此类推。
有人能帮我在sqlite中查询一下吗。如何在上述场景中使用自连接 你可以采取不同的方法。找出最大和最小的时间差,减去物品在冰箱中停留的时间间隔总和
WITH inventory_time_in_freezer AS (
SELECT i1.inv_id, SUM(i1.out_time - i1.in_time) as time_in_freezer
FROM inventory_tack i1
WHERE out_time IS NOT NULL
GROUP BY i1.inv_id
)
SELECT i2.inv_id, MAX(i2.in_time) - MIN(i2.in_time) - iif.time_in_freezer
FROM inventory_tack i2
JOIN inventory_time_in_freezer iif ON iif.inv_id = i2.inv_id
GROUP BY i2.inv_id, iif.time_in_freezer
另外,上面的查询没有经过测试,只是为了说明这个想法