0
$today = mktime(0,0,0);
$yesterday = $today - 86400;
$this->view->numberyesterday=$db->fetchAll("SELECT * FROM `transactions` WHERE `siteid`=".$sid." AND `timestamp` > ".$db->quote($yesterday,'integer')." AND timestamp < ".$db->quote($today,'integer'));

我已经使用上面的代码来显示昨天的所有记录。现在我需要为每个小时绘制图表。如何从上述查询中检索每小时的记录?(例如,12-1 AM、1-2 AM....23-24PM 等内的记录)

谢谢!

编辑:

我希望我可以将每个小时的记录存储在每个变量中。这样24小时就有24个变量。所以很容易绘制图形。

4

1 回答 1

5

您没有指定输出的外观,但似乎此构造会对您有所帮助:

select Hour(timestamp) transhour, count(*) transcount
from transactions
where yourfilters = yourvalues
Group by Hour(timestamp)

输出将如下所示:

transhour | transcount
======================
0         | 2
1         | 23
2         | 45
3         | 23
...       | ...
22        | 34
23        | 3

警告:如果在给定小时内没有执行任何事务,则输出将忽略这一小时(并且不会以计数为零将其返回)

于 2013-04-30T04:03:20.560 回答