在 table 中生成相同的数据

generate same data where in table

我有考试table

add为day的计数增加值,为day的deleted值,diff为不同的add和del files加上前面的diff

如何编写查询和 return!看图

其中日期间隔不是一天,那里生成相同的列,示例 03.05.2018 行生成行,这是 ADD = 0,DEL = 0,AND DIFF = previous 4、11.05.2018之后生成到当前日期的行

使用generate_series()生成所有行,然后left join:

select 1 as com_id, gs.dte,
       coalesce(add, 0) as add, coalesce(del, 0) as del,
       (sum(add) over (order by gs.dte) -
        sum(del) over (order by gs.dte)
       ) as diff
from generate_series('2018-05-01'::date, current_date, interval '1 day') gs(dte) left join
     test t
     on t.date = gs.dte;

Here 是一个 rextester。