【问题标题】:Calculate Active users per day from Start and End date columns从开始和结束日期列计算每天的活跃用户
【发布时间】:2019-11-28 19:28:53
【问题描述】:

我有如下表,我想创建一个每天唯一活跃用户的视图。每个用户都有一个开始和结束日期期间,但有些日子是重叠的。我该如何解决这个问题?

【问题讨论】:

  • 用您正在使用的数据库标记您的问题。

标签: sql concurrency count amazon-redshift


【解决方案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;

【讨论】:

  • 这不会在两个日期之间为所有活跃用户提供。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-08
  • 2019-12-18
  • 1970-01-01
相关资源
最近更新 更多