在 [mytable] 上:
[id] AS INT -- UNIQUE
[price] AS MONEY
在按 [id] 排序的集合上,我需要选择 [price] 的总和满足某些条件的那些 [id]
例如:
[id] [price]
1 2.0
2 4.7
3 3.2
4 2.8
5 6.2
6 1.5
7 4.2
8 3.3
对于给定的数字“10.0”:
[id] [price] [r_total]
1 2.0 2.0
2 4.7 6.7
3 3.2 9.9
4 2.8 12.7 <-- here the criteria meets for 10.0
5 6.2 18.9
6 1.5 20.4
7 4.2 24.6
8 3.3 27.9
期望的结果是一组 [id]s :
[id]
1
2
3
4
使用 Running Total 解决了问题,但主要问题是我想避免先计算所有集合的运行总计,然后找到条件满足的点,原因是表包含超过 100.000。 000 行,并且给定的数字与 [price] 的总和相比通常非常小(例如: 1250.14 ),预期结果勉强丰富 100-150 行!
有没有其他方法可以计算并获得所需的行而不干扰那些 100.000.000 行?