PostgreSQL - 时间序列插值

问题描述:

我有一个表“表演”与列“日期”和“计数”。 然而,行是稀疏的,即有许多天的没有行,这隐含意味着计数= 0 有一个查询我能做到这一点,当这个运行:PostgreSQL - 时间序列插值

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 

+0

退房的文档 - 特别是'generate_series()':https://www.postgresql.org/docs/current/static/functions-srf。 HTML – Nicarus

您可以使用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;