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

如何在postgresql中获取每月的列表日数据,postgresql,Postgresql,我使用psqlv.10.5 我有这样一个结构表: | date | total | ------------------------- | 01-01-2018 | 50 | | 05-01-2018 | 90 | | 30-01-2018 | 20 | | date | total | ------------------------- | 01-01-2018 | 50 | | 02-01-2018

我使用psqlv.10.5

我有这样一个结构表:

|     date      | total |
-------------------------
|  01-01-2018   |   50  |
|  05-01-2018   |   90  |
|  30-01-2018   |   20  |
|     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  |
如何按月获取回顾数据,但数据显示为连续30天,我希望数据显示如下:

|     date      | total |
-------------------------
|  01-01-2018   |   50  |
|  05-01-2018   |   90  |
|  30-01-2018   |   20  |
|     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
示例:要添加到上述答案+1中,这是一个使用日历表的示例,其中包含您希望显示在报告中的所有日期,即使所有日期没有显示在您的实际数据中。