从开始和结束日期列计算每天的活跃用户
Posted
技术标签:
【中文标题】从开始和结束日期列计算每天的活跃用户【英文标题】:Calculate Active users per day from Start and End date columns 【发布时间】:2019-11-28 19:28:53 【问题描述】:我有如下表,我想创建一个每天唯一活跃用户的视图。每个用户都有一个开始和结束日期期间,但有些日子是重叠的。我该如何解决这个问题?
【问题讨论】:
用您正在使用的数据库标记您的问题。 【参考方案1】:您可以取消透视数据并使用聚合和窗口函数。这看起来像:
select dte, sum(inc) as change_on_day,
sum(sum(inc)) over (order by dte) as active_on_day
from ((select user, start_date as dte, 1 as inc from t) union all
(select user, end_date, -1 from t)
) t
group by dte
order by dte;
【讨论】:
这不会在两个日期之间为所有活跃用户提供。以上是关于从开始和结束日期列计算每天的活跃用户的主要内容,如果未能解决你的问题,请参考以下文章