【问题标题】:sql duration around the reference date参考日期前后的 sql 持续时间
【发布时间】:2017-05-31 09:49:28
【问题描述】:

customer 表中有一个客户池,其中包含一些活动,每个客户都执行了特定的活动,并且已将其标记为事件发生,并且已选择日期作为参考日期。

现在的任务是查找参考日期前后的客户记录。例如。选择每个客户在事件发生前 10 天、事件发生后 20 天或前 5 天和后 5 天的活动。

表格如下:

Customer ID| activities | date
 1          | a1         | date1
 1          | a2         | date1
 1          | a3         | date2
 1          | a1         | date2
 .
 1          | a-sp       | date22 ---> a-sp is an event occurred and the date is Ref. Date
 .
 1          | a1000      | date30

对许多其他客户同样明智

社区有什么建议吗?

【问题讨论】:

  • 提及数据库/版本、示例数据、您的预期输出以及到目前为止您是否尝试过任何事情。
  • 我正在使用 SAP/HANA,抱歉我没有示例数据。

标签: sql hana


【解决方案1】:

你可以这样做:

select t.*, e.event_date
from t join
     (select t.customerid, t.date as event_date
      from t
      where t.activity = 'a-sp'
     ) e
     on t.date >= add_days(e.event_date, -5) and
        t.date <= add_days(e.evant_date, 5);

【讨论】:

  • 谢谢戈登!它有帮助!
猜你喜欢
  • 2021-12-21
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 2016-12-31
  • 1970-01-01
  • 1970-01-01
  • 2017-03-17
  • 1970-01-01
相关资源
最近更新 更多