Sql 在表中的位置生成相同的数据

Sql 在表中的位置生成相同的数据,sql,postgresql,postgresql-9.5,Sql,Postgresql,Postgresql 9.5,我有一张测试表 add是一天的count增加值,diff是一天的deleted值,diff是不同的add和del文件加上以前的diff 我如何写查询和返回!见图片 如果日期间隔不是一天,则需要生成相同的列,例如2018年5月3日的行是生成的行,这是ADD=0、DEL=0和DIFF=previous 4,在2018年5月11日之后生成到当前日期的行使用generate_series生成所有行,然后左连接: 是rextester。此代码不正确,返回了不正确的结果,需要如所示的meimage2@Ani

我有一张测试表

add是一天的count增加值,diff是一天的deleted值,diff是不同的add和del文件加上以前的diff

我如何写查询和返回!见图片

如果日期间隔不是一天,则需要生成相同的列,例如2018年5月3日的行是生成的行,这是ADD=0、DEL=0和DIFF=previous
4,在2018年5月11日之后生成到当前日期的行

使用generate_series生成所有行,然后左连接:


是rextester。

此代码不正确,返回了不正确的结果,需要如所示的meimage2@AniSevanyan . . . 这确实有效。我提供了一个test.image结果image@AniSevanyan的链接。这与你在这个问题上掌握的数据不同。我建议你用不同的数据问另一个问题。如REXTESTESTER链接所示,此选项回答正确。改变这个问题是不礼貌的,因为它会使这个答案无效。
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;