[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] のセットです:
[id]
1
2
3
4
問題は Running Total を使用して解決されますが、主な問題は、最初にすべてのセットの現在の合計を計算することを避けたいことです。次に、基準を満たすポイントを見つけます。その理由は、テーブルに 100.000 を超えるものが含まれているためです。 000 行であり、[price] の合計と比較して指定された数値は通常非常に小さく (例: 1250.14 )、期待される結果は 100 ~ 150 行に満たないほどです!
これらの 100.000.000 行を乱すことなく、目的の行を計算して取得する他の方法はありますか?