如何在SQL上使用同一行数据进行添加?

如何在SQL上使用同一行数据进行添加?,sql,Sql,我需要展示一段时间内贡献的总和;然而,我想用这种格式来演示它 Date Pay Total 8.1 100 100 8.8 150 250 8.15 50 300 所以我只有两组数据,日期和支付金额。 我想显示根据付款金额支付的总金额的变化 我想我需要使用子查询,但我无法让它为我工作! 有什么建议吗 您没有指定DBMS,因此这是使用窗口函数的ANSI SQL select date, pay, sum(pay) over (order by dat

我需要展示一段时间内贡献的总和;然而,我想用这种格式来演示它

Date Pay  Total
8.1  100  100
8.8  150  250
8.15  50  300
所以我只有两组数据,日期和支付金额。 我想显示根据付款金额支付的总金额的变化

我想我需要使用子查询,但我无法让它为我工作!
有什么建议吗

您没有指定DBMS,因此这是使用窗口函数的ANSI SQL

select date, 
       pay, 
       sum(pay) over (order by date) as total
from the_table
order by date;

这假设最后一行中的
30
只是一个打字错误,实际上应该是
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"
选择t1.“日期”,最小值(t1.Pay)作为薪资,总和(t1.Pay)作为累计总额

从t1内部连接t2到t2。“Date”请添加数据样本以及迄今为止您尝试过的内容。效果很好,但如何指定特定的客户端id?忘记提及内部连接。谢谢听起来像是添加了
和t2.Client=t1.Client
。不过只是猜测而已。它同样适用于这两个查询。
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"