当我将日期范围应用于我的查询时,是否仍然显示日期范围中使用的日期,即使这些日期没有数据?
假设我使用,
... where date between '1/12/2010' and '31/12/2010' order by date
Run Code Online (Sandbox Code Playgroud)
在我的结果中我想要的是显示所有金额列的总和,直到当天的2010年12月12日,即使该日期没有数据,也是2010年12月31日的数据.
Fra*_*ens 26
加入generate_series()来填补空白.
例:
CREATE TEMP TABLE foo AS SELECT CURRENT_DATE AS today;
SELECT
COUNT(foo.*),
generate_series::date
FROM
foo
RIGHT JOIN generate_series('2010-12-18', '2010-12-25', interval '1 day') ON generate_series = today
GROUP BY
generate_series;
Run Code Online (Sandbox Code Playgroud)
结果:
0,'2010-12-18'
0,'2010-12-19'
1,'2010-12-20'
0,'2010-12-21'
0,'2010-12-22'
0,'2010-12-23'
0,'2010-12-24'
0,'2010-12-25'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8233 次 |
| 最近记录: |