2016-08-31 3 views
0

Ich habe eine Tabelle mytable mit einem Ereigniszeitfeld namens evtime. Um die Anzahl der Einträge pro Tag zusammenzufassen, verwende ich:Stündliche Summe der Tabelleneinträge über einen Tag

select date_trunc('day',evtime), 
     count(1) as entries 
from mytable 
group by date_tunc('day',evtime); 

Das funktioniert gut. Aber jetzt, für ein bestimmtes Datum, würde ich gerne die Summen pro Stunde sehen.

+0

[bearbeiten] Sie Ihre Frage und fügen Sie einige Beispieldaten und die erwartete Ausgabe basierend auf diesen Daten hinzu. [_Formatted_] (http://stackoverflow.com/editing-help#code) ** Text ** bitte, [keine Screenshots] (http://meta.stackoverflow.com/questions/285551/why-may-i -nicht-Hochladen-Bilder-von-Code-auf-so-wenn-eine Frage zu stellen/285557 # 285557) –

Antwort

0

Ist das was du meinst?

select date_trunc('hour', evtime), 
     count(*) as entries 
from mytable 
where date_trunc('day', evtime) = $yourdate 
group by date_tunc('hour', evtime); 

Oder kommt mir der Gedanke, dass Sie die Zusammenfassung von Tag wollen an den meisten Tagen und Stunden auf einem. Wenn ja:

select (case when date_trunc('day', evtime) = $yourdate 
      then date_trunc('hour', evtime) 
      else date_trunc('day', evtime) 
     end) as day_hour, 
     count(*) as entries 
from mytable 
group by day_hour; 
+0

Danke für die Hilfe, Gordon. Das hat es getan. – Lyle