gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 12:51:38 25 4
gpt4 key购买 nike

我使用 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(start, stop, step interval) ,例如:

select d::date, coalesce(total, 0) as total
from generate_series('2018-01-01', '2018-01-31', '1 day'::interval) d
left join my_table t on d::date = t.date

Working example in rextester.

关于postgresql - 如何在postgresql中获取每个月的列表日数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52638075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com