【发布时间】:2012-08-01 14:12:48
【问题描述】:
我编写了一个小型 PostgreSQL 查询,它可以帮助我在两个特定日期内每天每小时间隔执行的作业总数 - 例如2012 年 2 月 2 日至 2012 年 3 月 3 日期间执行的所有作业,从 2 月 2 日给出的小时开始,到 3 月 3 日给出的小时结束 - 我注意到此查询不会打印计数为 0 的行- 在该时间间隔内没有执行任何作业,例如2012 年 2 月 21 日下午 5 点到 6 点之间。我怎样才能使它也返回计数为 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以获取计数。
标签: sql postgresql