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'));

上記のコードを使用して、昨日のすべてのレコードを表示しました。ここで、1 時間ごとにグラフをプロットする必要があります。上記のクエリから毎時レコードを取得するにはどうすればよいですか?

ありがとう!

編集:

各時間のレコードを各変数に保存できればいいのにと思います。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

警告: 特定の時間にトランザクションが実行されなかった場合、出力はこの時間を省略します (カウント 0 には戻りません)。

于 2013-04-30T04:03:20.560 に答える