的總和我有一個表,我一定要得到的輸出如下:SQL查詢來查找列
ID - amount - TotalAmount
1 - 400 - 400
2 - 600 - 1000
3 - 400 - 1400
表有兩列:ID &量。應該在SQL腳本運行時創建'TotalAmount',並且希望剩下的部分從上面清除。
我該怎麼做以上總和?請分享想法來做到這一點。謝謝。
的總和我有一個表,我一定要得到的輸出如下:SQL查詢來查找列
ID - amount - TotalAmount
1 - 400 - 400
2 - 600 - 1000
3 - 400 - 1400
表有兩列:ID &量。應該在SQL腳本運行時創建'TotalAmount',並且希望剩下的部分從上面清除。
我該怎麼做以上總和?請分享想法來做到這一點。謝謝。
這是累積和。 ANSI標準方法如下:
select id, amount, sum(amount) over (order by id) as TotalAmount
from t;
大多數(但不是全部)數據庫支持此語法。
以上是「正確」的解決方案。如果你的數據庫不支持,那麼相關子查詢是一個方法:
select t.id, t.amount,
(select sum(t2.amount) from t t2 where t2.id <= t.id) as TotalAmount
from t;
你不說出你的DBMS,所以這是ANSI SQL:
select id, amount,
sum(amount) over (order by id) as totalamount
from the_table
在SQL Server 2012中這個查詢工作正常。試試這個:
SELECT
ID,
AMOUNT,
SUM(AMOUNT)
OVER(ORDER BY ID) AS TotalAmount
FROM
YourTable;
select id, amount, sum(amount) as totalAmount from table_name order by id;
非常感謝戈登·利諾夫。第二個查詢工作。 –