SQL日期查询显示非现有日期

时间:2014-04-01 09:55:28

标签: sql performance postgresql

我遇到了以下问题:

我需要在Postgres数据库中查询自2008年以来每天的总下载量,例如

date | downloads 1-1-2008 | 20 3-1-2008 | 10

真正的问题是,我不是每天都有一个条目,但是我还需要获得下载为零的日子。

现在运行的解决方案是使用另一个表,其中每个日期的日期为1-1-2008到1-1-2018。

在每个面向日期范围的查询中加入它......

是最好的方法吗?

1 个答案:

答案 0 :(得分:2)

right joingenerate_series表格

select s.d
from
    downloads d
    right join
    (
        select d::date
        from
        generate_series('2008-01-01', current_date, interval '1 day') s(d)
    ) s on s.d = d.d