T-SQL:自引用计算字段

问题描述

我正在尝试根据现有表格计算日间交易的每日总数,该表提供了滚动的五天窗口(仅限工作日)内的日间交易累计数量。数据集非常简单,但是,我似乎无法在不必求助于无穷无尽的子查询链的情况下进行计算。具有挑战性的部分是,在每个交易日结束时,五天前的日内交易总数现在到期并从滚动总数中删除。

这是我的数据集(表格):

enter image description here

这是我需要的最终结果:

enter image description here

请注意,底部(最旧的日期)以黄色突出显示的前四行非常容易计算,因为 11/09 是起点,没有之前的日内交易,因此不会删除日内交易(过期)直到四个工作日后(2013 年 11 月 13 日)。

从那里,我不知道该怎么办。似乎我尝试的任何东西都只是一个需要在过去四行中引用自身(它自己的结果)的计算字段。至少,部分计算会。计算本质上只是 = [截至今天的累积“日内交易”-(截至前一天的累积“日内交易”-四天前的“每日总计”)]。同样,数据集仅包含开始的工作日。递归 CTE 会为此工作吗?

备注 1:我不需要有关滚动累积“日间交易”字段的帮助。那已经为我自动填充了。我只需要对“每日总计”(每天的新日交易)进行临时计算的帮助。

备注 2:“日内交易”只是在同一天买卖同一只股票。它是同一股票的买入和卖出订单的一对一匹配。

备注 3:解决方案需要兼容 IBM Netezza 规则,最好。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)