Ich verwende MySQL für meine Datenbank. Ich habe analytische Details in einer Tabelle erstellt. Ich möchte diese Daten in einem Diagramm zeigen. Ich habe Daten über den Klick in bestimmten Link und die in der Datenbank gespeicherte Datum Zeit erstellt. Tabelle ist wieErstellen Sie Diagramm mit MySQL-Datenbank für heute, wöchentlich, monatlich und zwischen zwei Datum
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
I-Daten zeigen will, wie anhand von Stunde für heute wie
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
Ähnliches gilt für Wochen wo Wochentag (Sonntag, Montag, Dienstag, ... Samstag) statt Stunde, Wochennummer (1,2,3,4,5 ...... 28/29/30/31) für monatliches Detail.
Ich habe eine Abfrage für die heutige Liste verwendet, aber es gibt nur den Namen der Stunde, wo die Daten vorhanden sind. Ich brauche die ganze Stundenliste mit 0 füllen, wenn es in dieser Stunde keinen Wert gibt.
Ich verwende diese Abfrage.
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`)
ich Abfrage für 7 Tage bin mit aber es wird geben auch den Rekord für den Tag in der Datenbank nicht für die Show 0 für verbleibenden Tage.
Dies ist die Abfrage.
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`)
Ich möchte nur diese füllen Nullen in 'PHP'-Code. Zum Beispiel haben Sie ein Array 'Stunden [1-24]' mit allen Werten initialisiert auf 0. Dann verwenden Sie Ihre Abfrage und überschreiben einige Stunden mit Daten. – akasummer