一天内每小时 table 个条目

Hourly total of table entries over one day

我有一个 table mytable,其中包含一个名为 evtime 的事件时间字段。为了总结每天的条目数,我使用:

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

效果很好。但是现在,对于一个特定的日期,我想查看每小时的总数。

你是这个意思吗?

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

或者,我突然想到您希望在大多数日子按天汇总,在某一天按小时汇总。如果是:

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;