【发布时间】:2022-01-18 00:22:05
【问题描述】:
我正在使用 PSQL 执行此运行总和,我希望获取订阅服务的用户的每日总数。通过我当前的查询,我得到了客户订阅日期的累积总和,但我无法看到新客户未订阅日期的值。我想要一个所有日期的列表,以及每天订阅的相应客户总数,如下例所示
with data as (select
date_trunc('day', userstatuslog.modified) as modified_date,
user.status,
count(1)
from userstatuslog
join user on user.id = userstatuslog.id
where
user.status = 'Traveling' and
user.type = 'II' or
user.type = 'III'
group by
1, 2
)
select
modified_date,
sum(count) over (order by modified_date asc rows between unbounded preceding and current row)
from data
order by
modified_date desc
当前结果:
预期结果:
【问题讨论】:
-
创建一个日历表并外部连接您的数据。
-
或者使用
generate_series()动态生成日历表 -
如何实现?
-
对@Serg 的实现有什么想法吗??
标签: sql postgresql