我有一个“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/