MySQL: Füllen von leeren Feldern mit Nullen, wenn GROUP BY verwendet wird

8

Ich habe eine MySQL-Tabelle

%Vor%

enthält Statistiken über Website-Besucher.
Für Besuche pro Stunde benutze ich

%Vor%

das gibt mir

%Vor%

Und ich möchte Folgendes bekommen:

%Vor%

Wie soll ich die Abfrage ändern, um ein solches Ergebnis zu erhalten (mit einer MySQL-Abfrage, ohne temporäre Tabellen zu erstellen)?
Ist es möglich, ein solches Ergebnis mit einer MySQL-Abfrage zu erhalten?

    
SaltLake 19.03.2010, 18:42
quelle

4 Antworten

4

Ich habe die Antwort gefunden. Vielleicht bin ich verrückt, aber das funktioniert.

%Vor%

Eine MySQL-Abfrage wie gewünscht.

    
SaltLake 13.10.2010, 09:39
quelle
8

Erstellen Sie eine weitere Tabelle mit einer einzelnen Spalte,

%Vor%

Füllen Sie alle 24 Stunden.

Machen Sie dann einen Join in dieser Tabelle, um die Nullen zu füllen.

%Vor%     
Marcus Adams 19.03.2010 18:46
quelle
3

Dies ist nur der Teil "warum es nicht zurückkehrt". Marcus Antwort deckt das "wie" ab.

Das SQL

%Vor%

erhält die Anzahl der Datensätze pro Stunde, für die Zeitstempel in der Tabelle

Es gibt keine Details darüber, was in der Tabelle nicht vorhanden ist. Da für den Zeitstempel, der der Stunde 8 entspricht (aus Ihrem Beispiel), keine Recorde existieren, gibt die SQL keine Datensätze zurück.

    
Nivas 13.10.2010 08:57
quelle
0
%Vor%

Danke! Machte es! Von 2 Tabellen, Klicks und Ansichten, verbunden .. funktioniert. ajaxel.com

    
Alexander 30.05.2014 19:35
quelle

Tags und Links