【发布时间】:2019-10-23 10:46:26
【问题描述】:
我有下表:
Column1 Date Data Column2 Avg
Test1 01/01/2019 1 2
Test1 01/20/2019 2 3
Test1 01/23/2019 3 4
Test1 02/20/2019 4 3
Test1 03/20/2019 5 1
Test1 04/20/2019 6 2
Test1 05/20/2019 7 0
Test1 06/20/2019 8 1
Test1 07/20/2019 9 1
Test1 08/20/2019 10 2
Test1 09/20/2019 11 3
Test1 10/20/2019 12 4
Test1 01/01/2020 13 6
Test1 02/01/2020 14 8
Test1 03/01/2020 15 9
Test1 04/01/2020 16 1
我需要在 Temp 表的 select 语句中创建一个名为 Avg 的附加列,该列将从 Column2 顺序获取值并将其除以(每 4 个月的数据平均值除以 30)。 所以,例如,
- 第一个 Avg 值为 2(来自 Column2)/(Avg(1,2,3,4,5,6)(来自 数据栏) /30)
- 第二个 Avg 值为 3 / (Avg(4,5,6,7) /30)
- 第三个平均值将为 4 / (Avg(5,6,7,8) /30)
等等。
【问题讨论】:
-
你能更好地解释一下你的平均数字是如何选择的吗?
-
您想要的结果也会很有用。
-
为什么第二个不是 3 / avg(2, 3, 4, 5, 6) ?你的逻辑不清楚。
-
嗨,戈登,这是因为一月结束于数字 3。因此,它应该从数字 4 而不是 2 开始。
-
嗨,Shawn,请查看 Esperento57 提供的答案。它非常接近我的解决方案。
标签: sql sql-server tsql