我有一个应用程序在不同时间轮询不同的垃圾箱,并根据重量计算每个垃圾箱中的小部件数量。轮询每隔几分钟完成一次,结果会打上时间戳并添加到MySQL表中。该表格包含以下3列。该示例显示了3个垃圾箱(A,B和C),但同一个小部件可能有1到10个垃圾箱。 (微小的部件可能只是在1个或2箱和更大的部件可能需要多个频段)用于存储和使用历史数据进行计算的数据库问题
timestamp bin Widget_Count
--------------------------
1 A 8
2 B 7
3 C 4
4 A 1
5 B 3
6 C 5
7 A 6
8 B 7
9 C 2
应用程序需要产生一个“股票历史”报告 - 这将涉及在每个时间步长什么是总计算没有。来自所有时间步的所有箱子的物品。在本例中,报告将只包含下面的时间戳列和CountHistory列(最后一列)(其他列仅显示计算结果)
在时间1,A已被轮询并有8个小部件。 B和C没有被调查过。所以总数是8.
在时间2,B已被轮询并有7个小部件。所以总数是17
在时间3,C已被轮询并有4个小部件。所以总数是19
在时间4,A再次轮询并且只有1个小部件。所以现在的总数是1 + 4 + 7 = 12
..等等。
timestamp bin Widget_ A B C CountHistory
Count (stock flow)
--------------------------------------------------------
1 A 8 8 0 0 8
2 B 7 8 7 0 15
3 C 4 8 7 4 19
4 A 1 1 7 4 12
5 B 3 1 3 4 8
6 C 5 1 3 5 9
7 A 6 6 3 5 14
8 B 7 6 7 5 18
9 C 2 6 7 2 15
我很感激任何关于如何最好地去做这件事的帮助。我试图创建一个临时表,使用光标滚动查看每条记录,但无法获得正确的查询。
(我曾问过一个相关的问题,但我没有正确地框定问题,疯玩起来的例子还有。Need Help with queries (views) in Microsoft Access)
你的意思是'时间2'共有15个? – 2009-12-09 21:44:49
哎呀,我的错。是的,在时间2,它是只有A + B,这是7 + 8 = 15 – 2009-12-10 18:05:14