我写了一个小的PostgreSQL查询,可以帮助我在两个特定日期内每天每小时执行一次的作业总量 - 例如,在2012年2月2日至2012年3月3日之间执行的所有工作从小时开始,以2月2日给出的小时为开始,并以3月3日给出的小时结束,我注意到此查询不打印0计数的行 - 在该时间间隔内没有执行任务例如于2012年2月21日下午5点至6点之间。我怎样才能使这也返回结果(行)0计数?代码如下:如何使这个查询也返回0计数值的行?
SELECT date_trunc('hour', executiontime), count(executiontime)
FROM mytable
WHERE executiontime BETWEEN '2011-2-2 0:00:00' AND '2012-3-2 5:00:00'
GROUP BY date_trunc('hour', executiontime)
ORDER BY date_trunc('hour', executiontime) ASC;
在此先感谢。
你需要一个数字表生成每个小时为一列,然后外连接到'mytable'得到计数。 – dotjoe 2012-08-01 14:19:06
@dotjoe会这样做,谢谢 – sm90901 2012-08-01 14:20:11