【发布时间】:2015-12-24 11:45:00
【问题描述】:
我有一个计数器和计数的 SQLite 数据库,如下所示:
DateTime |Gate|Count
-----------------------+----+-----
2015-09-23T19:23:01.000| 2| 345
2015-09-23T19:41:08.000| 2| 346
2015-09-23T19:41:30.000| 3| 654
2015-09-23T19:44:00.000| 4| 556
2015-09-23T21:13:47.000| 2| 348
我想确定每个门每小时计数的数量。在上表中,2 号门在 19:00 时计数为 1,在 21:00 时计数为 2。
我设法得到以下选择语句:
SELECT strftime('%Y-%m-%dT%H:00:00.000', DateTime),
max(Count) - min(Count)
FROM GateTbl
WHERE Gate='2'
GROUP by strftime('%Y-%m-%dT%H:00:00.000', DateTime);
起初我似乎走在正确的轨道上,因为这几乎达到了我想要的效果。但它一次只适用于一个门,当我想返回所有门的每小时计数时。我也开始意识到它在上面的 21:00 这样的小时内不起作用,那个小时只有一个条目。
我看不到在 SQL 语句中执行此操作的方法,我希望这里有人可以。任何帮助表示赞赏。
【问题讨论】:
-
But it only works for one gate at a time。是的。这就是WHERE Gate='2'的意思。