テーブルにデータがあります
お名前 金額
名前1 1000
名前2 2000
名前3 3000
名前4 4000
SQLクエリを作成し、この出力を取得したい
金額の合計は 3000
名前
1 名前 2
金額の合計は 5000
Name2
Name3
金額の合計は 6000
名前1
名前
2 名前 3
テーブルにデータがあります
お名前 金額
名前1 1000
名前2 2000
名前3 3000
名前4 4000
SQLクエリを作成し、この出力を取得したい
金額の合計は 3000
名前
1 名前 2
金額の合計は 5000
Name2
Name3
金額の合計は 6000
名前1
名前
2 名前 3
これは 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