我需要顯示隨着時間的推移貢獻的總和;但是我想用這種格式來演示它。如何在SQL上使用同一行數據進行添加?
Date Pay Total
8.1 100 100
8.8 150 250
8.15 50 300
所以我只有兩組數據,日期和支付金額。 我想根據付款金額顯示付款總額的變化。
我想我需要使用子查詢,但我無法讓它爲我工作! 有什麼建議嗎?
我需要顯示隨着時間的推移貢獻的總和;但是我想用這種格式來演示它。如何在SQL上使用同一行數據進行添加?
Date Pay Total
8.1 100 100
8.8 150 250
8.15 50 300
所以我只有兩組數據,日期和支付金額。 我想根據付款金額顯示付款總額的變化。
我想我需要使用子查詢,但我無法讓它爲我工作! 有什麼建議嗎?
所以這是ANSI SQL使用窗函數
select date,
pay,
sum(pay) over (order by date) as total
from the_table
order by date;
這在上線呈30
你沒有指定一個DBMS只是一個錯字和實際上應該是300
這些都是便攜的方式來做到這一點。我假設你的日期是獨一無二的。
內連接:
select t1."Date", min(t1.Pay) as Pay, sum(t1.Pay) as CumulativeTotal
from T t1 inner join T t2 on t2."Date" <= t1."Date"
group by t1."Date"
order by t1."Date"
標量子查詢:
select
t1."Date", t1.Pay,
(select sum(Total) from T t2 where t2."Date" <= t1."Date") as CumulativeTotal
from T t1
order by t1."Date"
請,添加數據樣本,你嘗試過這麼遠。 – Horaciux