小编acc*_*yst的帖子

计算每个时间点迄今为止看到的最大值

我试图计算的内容有点难以描述,所以请耐心等待...

我有一张表,上面有产品编号,以及 4 年内每周每种产品的价格。价格可以在几周之间上涨或下跌。对于每个日期,我试图计算每个产品在那个时间点之前的最高价格。

在下面的示例表中,第三列(价格)是我拥有的数据;第四列(最大价格坑)是我试图计算的。- 编辑:需要明确的是,此列尚不存在!

例如,在 2012 年 15 月 1 日,产品 001 的最高价格为 50,尽管在接下来的一周它上升到 60(这是整个时期的最高价格)。

我想我可能需要使用某种循环,但我真的不知道从哪里开始。我对 SQL 的基础知识有很好的掌握,但是当它涉及到窗口函数和进一步时,我有点模糊。我在谷歌上搜索了很多问题,但找不到任何指针。

任何人都可以帮忙吗?如果您需要我澄清我的要求,请告诉我!

产品 | 日期 | 价格 | Max Price PIT(这一栏是我要计算的)
001 01/01/2012 25 25
001 08/01/2012 50 50
001 15/01/2012 35 50
001 22/01/2012 60 60
001 29/01/2012 50 60
001 05/02/2012 15 60
002 01/01/2012 18 18
002 08/01/2012 7 18
002 15/01/2012 10 18
002 22/01/2012 20 20
002 29/01/2012 30 30
002 05/02/2012 25 30 …

sql-server-2008-r2

4
推荐指数
1
解决办法
3388
查看次数

标签 统计

sql-server-2008-r2 ×1