You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL-UDF实现:按30天周期判定序列中的索引事件日期

问题:基于30天间隔分组计算每个事件的INDEX_DATE

现有一张主体记录表,每个主体对应1条或多条EVENT_DATE记录,表结构及数据如下:

SUBJECTEVENT_DATE
12020-01-01
12020-11-06
22021-09-24
22021-09-26
32022-04-01
42020-05-01
42021-05-25
42021-05-31
42022-11-30
42022-12-02

需求规则

针对每个主体的每一条事件,判定其30天周期内的首个事件(即INDEX_DATE),规则如下:

  • 若主体仅有单个事件,或多个事件间隔超过30天,则该事件的INDEX_DATE为自身EVENT_DATE;
  • 若存在2个及以上事件间隔在30天内,则该组事件的INDEX_DATE为序列中的首个事件日期;
  • 事件的INDEX_DATE不得早于该事件30天以上。

主体4的预期结果

SUBJECTEVENT_DATEINDEX_DATE
42020-05-012020-05-01
42021-05-252021-05-25
42021-05-312021-05-25
42022-11-302022-11-30
42022-12-022022-11-30

现有尝试与诉求

我尝试通过构建事件链并使用lag()函数实现,但当事件数量超过2个时,需要对比更早的事件,因此寻求SQL-UDF的解决方案。

内容的提问来源于stack exchange,提问作者lmmjrf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 10:30:58