参考日期前后的 sql 持续时间
Posted
技术标签:
【中文标题】参考日期前后的 sql 持续时间【英文标题】:sql duration around the reference date 【发布时间】: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,抱歉我没有示例数据。 【参考方案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);
【讨论】:
谢谢戈登!它有帮助!以上是关于参考日期前后的 sql 持续时间的主要内容,如果未能解决你的问题,请参考以下文章