我正在尝试获得一个运行小计(理解这与组的小计和汇总方法不同)。
尝试使用
Row_Number() over (order by ID_Number) as Row_Count
并将其嵌套在select语句中并在其自身上使用LEFT OUTER JOIN
(只是搅拌)。
我想要得到的是:
if ROW_COUNT > 1 THEN RUNNINGTOTAL = Volume_Category + (RUNNINGTOTAL for ID_Number where ROW_COUNT= ROW_COUNT(for this ID_Number*)-1)
我有一张表格,其中列出了唯一的“ID号码”,这是这里的重点。
答案 0 :(得分:1)
除非您使用SQL Server 2012,否则执行累积求和的最简单方法是使用相关子查询。以下是代码的模板:
select t.*,
(select sum(val) from t t2 where t2.ordercol <= t.ordercol) as cumesum
from t
2012年,您可以:
select t.*,
sum(val) over (order by ordercol) as cumesum
from t
在这两者中,val
是您想要求和的列,ordercol
是指定排序的方式。
答案 1 :(得分:0)
试试这个:
SELECT
T1.Id,
SUM(T2.Amount) Total
FROM tbl T1
JOIN Tbl T2
ON T1.Id>= T2.Id
GROUP BY T1.Id