如何在PostgreSQL中获取每月的日期列表数据

3

我使用的是 psql v.10.5。

我有一个类似这样的结构表:

|     date      | total |
-------------------------
|  01-01-2018   |   50  |
|  05-01-2018   |   90  |
|  30-01-2018   |   20  |

如何按月获取汇总数据,但是数据显示为连续的30天,我希望数据显示成这样:
|     date      | total |
-------------------------
|  01-01-2018   |   50  |
|  02-01-2018   |   0   |
|  03-01-2018   |   0   |
|  04-01-2018   |   0   |
|  05-01-2018   |   90  |
.....
|  29-01-2018   |   0   |
|  30-01-2018   |   20  |

我已尝试过这个查询:
SELECT * FROM date
WHERE EXTRACT(month FROM "date") = 1  // dynamically
AND EXTRACT(year FROM "date") = 2018  // dynamically

但结果不是我预期的。同时,月份和日期参数是动态创建的。非常感谢您的帮助。

使用generate_series生成时间序列示例:https://dev59.com/5mYq5IYBdhLWcg3w5Ui8 - Paul Maxwell
1个回答

5

3
为了补充上面的答案+1,这是使用“日历”表格的示例,其中包含您希望出现在报告中的所有日期,即使实际数据中并非所有日期都出现。 - Tim Biegeleisen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接