-1

我在表格中有数据

名称                       金额

姓名1 1000

名称2 2000

名称3 3000

名称4 4000

我想做一个 sql 查询并想得到这个输出

金额总和为 3000
Name1
Name2

金额总和为 5000
Name2
Name3

金额总和为 6000
Name1
Name2
Name3

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 回答