New*_*PHP 0 php mysql sql datetime aggregate-functions
$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'));
Run Code Online (Sandbox Code Playgroud)
我用上面的代码显示了昨天的所有记录.现在我需要绘制每小时的图表.如何从上述查询中每小时检索一次记录?(例如,记录在12-1 AM,1-2 AM .... 23-24PM等)
谢谢!
编辑:
我希望我可以在每个变量中存储每小时的记录.因此24小时内将有24个变量.因此绘制图表很容易.
您没有指定输出的外观,但似乎这个结构可以帮助您:
select Hour(timestamp) transhour, count(*) transcount
from transactions
where yourfilters = yourvalues
Group by Hour(timestamp)
Run Code Online (Sandbox Code Playgroud)
输出将如下所示:
transhour | transcount
======================
0 | 2
1 | 23
2 | 45
3 | 23
... | ...
22 | 34
23 | 3
Run Code Online (Sandbox Code Playgroud)
警告:如果在给定的小时内没有执行任何事务,则输出将忽略此小时(并且不会将其带回计数为零)