0

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

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

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

4

1 回答 1

0

你是这个意思吗?

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;
于 2016-08-31T21:45:29.903 回答