-1

テーブルにデータがあります

お名前                       金額

名前1 1000

名前2 2000

名前3 3000

名前4 4000

SQLクエリを作成し、この出力を取得したい

金額の合計は 3000
名前
1 名前 2

金額の合計は 5000
Name2
Name3

金額の合計は 6000
名前1
名前
2 名前 3

4

1 に答える 1

0

これは Oracle で機能します。ただし、要件は少し非現実的であり、アプリケーションで処理する必要があるため、完全ではありません。JWが提案したレベル。クエリで時間を無駄にしないでください。

SELECT id, amt
, SUM(amt) OVER(ORDER BY id ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) sum 
 FROM
 (
 SELECT 1 id, 1000 amt FROM dual
  UNION ALL 
 SELECT 2 ,  2000 amt FROM dual
  UNION ALL 
 SELECT 3 ,  3000 amt FROM dual
  UNION ALL 
 SELECT 4 ,  4000 amt FROM dual
 )
 /

ID    AMT    SUM
----------------------
1    1000    1000
2    2000    3000
3    3000    5000
4    4000    7000 -- not as in your example
于 2013-03-22T17:42:23.500 に答える