私のデータベースにはmysqlを使用しています。私はテーブルに分析の詳細を作成しました。そのデータをグラフに表示したい。私は特定のリンクのクリックとデータベースに保存された日時のデータを作成しました。 表は、私は今日のために時間に基づいて、毎週平日(日曜日、月曜日、火曜日...土曜日)の代わりに、時間の同様今日、毎週、毎月、および2つの日付の間にmysqlデータベースを使用してグラフを作成します
hour | click
---------------
1 | 0
2 | 0
3 | 0
4 | 0
5 | 2
6 | 0
7 | 1
8 | 1
9 | 1
10 | 0
11 | 1
12 | 0
13 | 0
14 | 0
15 | 0
16 | 0
17 | 0
18 | 1
19 | 0
20 | 1
21 | 0
22 | 0
23 | 0
24 | 0
のようなデータを表示したい
id | datetime
-------------
1 | 2016-04-18 05:26:36
2 | 2016-04-18 07:26:36
3 | 2016-04-18 09:26:36
4 | 2016-04-18 11:26:36
5 | 2016-04-18 08:26:36
6 | 2016-04-18 05:26:36
7 | 2016-04-18 20:26:36
8 | 2016-04-18 18:26:36
のようなものです毎月の番号(1,2,3,4,5 ...... 28/29/30/31)
今日のリストのクエリを使用しましたが、データが存在する時間の名前のみが表示されます。その時間に値がない場合は、0のフィルですべての時間リストが必要です。
私はこのクエリを使用しています。
SELECT DISTINCT(hour(`beacon_date_time`)) as hour,COUNT(*) from beaconanalytics WHERE DATE_FORMAT(`beacon_date_time`,'%Y-%m-%d') BETWEEN DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY),'%Y-%m-%d') AND DATE_FORMAT(NOW(),'%Y-%m-%d') GROUP by hour(`beacon_date_time`)
私は7日のためにクエリを使用していますが、それはまた、残りの日のためのショー0のデータベースではない一日の記録を与えています。
これはクエリです。
SELECT dayname(`beacon_date_time`) as hour,COUNT(*) from beaconanalytics WHERE DATE_FORMAT(`beacon_date_time`,'%Y-%m-%d') BETWEEN DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 7 DAY),'%Y-%m-%d') AND DATE_FORMAT(NOW(),'%Y-%m-%d') GROUP by dayname(`beacon_date_time`)
を試してみてください私はこれらを埋めるだろう'php'コードのゼロ。たとえば、すべての値を0に初期化した 'hours [1-24]'という配列があります。次に、クエリを使用して、数時間をデータで上書きします。 – akasummer