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

Oracle 21c中基于Connect By的高效连续周客户统计方案需求

高效实现Oracle按客户周度连续区间累计统计的需求

需求详情

需保留全部21行数据,按每个客户每周计算统计结果,核心逻辑如下:

  • 客户1在第4周首次得到1:因前3周(1-3)均有出现,满足连续3周各至少一次的条件;前3周分别因回溯周数不足或出现次数不够,结果为0。
  • 客户1在第6周得到3:因回溯所有连续3周的区间(1-3、2-4、3-5)均满足连续无间隔出现的条件,累计为3。
  • 客户1在第8周得到0:因回溯最近3周(5-7)中第7周无出现,不满足连续3周条件。
  • weeknum列由to_number(to_char(data,'ww'))生成,所有客户统一按此逻辑计算。

当前问题与诉求

  • 已通过递归子查询因式分解完成解决方案,但当需要回溯9、10周时性能极差。
  • 希望获得更高效的实现方案,例如使用connect by子句的写法。
  • 使用Oracle 21c环境,已准备好对应的DDL、DML及现有方案的测试数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 06:03:14