0
私の最初の表には、私は以下の結果のテーブルを必要とし、このTeradata。グループ内のすべての値を合計するにはどうすればよいですか?
id value
1 20
1 50
1 30
2 60
2 5
2 35
のように見えます
id value cum | (this is explanation not a field)
_ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _
1 20 20 | (0 + 20 = 20)
1 30 50 | (30 + 20 = 50)
1 50 100 | (50 + 50 = 100)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _
2 5 5 | (0 + 5 = 5)
2 35 40 | (5 + 35 = 40)
2 60 100 | (40 + 60 = 100)
ロジックは
1)ORDER
元のテーブルであるBY value ASC
2)SUM
アップこれまでのすべての値は累積でcum
フィールド。したがって、cum
の列はすべてvalue
のSUM
であり、現在のvalue
より小さい。
私はこれを行うことができますどのようにのみ、ストアドプロシージャ
せずにSQLでこれを行う必要がありますか?
'SEL "ID"、 "値"、( "値" で "ID" ORDER BYパーティション)にわたる和( "値") \t Myタブ\t群から1,2'これは'すべてを与えるBY 100' – john
正しくしていますか? – john
申し訳ありませんが、 '行の無制限の先行 '部分を忘れて固定しました。 – dnoeth