我有一个“performance”表,列有“date”和“count”。
但是,行是稀疏的,也就是说,有很多天没有行,这意味着计数=0。
运行此程序时,是否可以执行以下查询:

date       count
2016-7-15  3
2016-7-12  1
2016-7-11  2

给我这个:
date       count
2016-7-15  3
2016-7-14  0
2016-7-13  0
2016-7-12  1
2016-7-11  2

?

最佳答案

您可以使用generate_series()left join

with q as (<your query here>)
select s.dte, coalesce(q.count, 0) as count
from (select generate_series(min(q.date), max(q.date), interval '1 day') as dte
      from q
     ) s left join
     q
     on s.dte = q.date;

关于postgresql - PostgreSQL-时间序列插值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38385814/

10-15 21:17