Sql 是否有方法将当前行上方的行相加
我正试图将电子表格复制到数据库中,但我很难理解如何像在excel中那样只对当前行上方的行求和。例如,一列的公式如下所示:Sql 是否有方法将当前行上方的行相加,sql,ms-access,Sql,Ms Access,我正试图将电子表格复制到数据库中,但我很难理解如何像在excel中那样只对当前行上方的行求和。例如,一列的公式如下所示: =SUM($B$9:$B9)/SUM($E$9:$E9) =SUM($B$9:$B10)/SUM($E$9:$E10) =SUM($B$9:$B11)/SUM($E$9:$E11) 。。。。等等 我需要在我的select qry中以某种方式复制这个公式,但不确定如何复制 SELECT Column1,Column2, SUM(Column1) + SUM(Column2)
=SUM($B$9:$B9)/SUM($E$9:$E9)
=SUM($B$9:$B10)/SUM($E$9:$E10)
=SUM($B$9:$B11)/SUM($E$9:$E11)
。。。。等等
我需要在我的select qry中以某种方式复制这个公式,但不确定如何复制
SELECT Column1,Column2, SUM(Column1) + SUM(Column2) as Expr1
From tblTest
Group By Column1,Column2
有什么想法吗
Col1 Col2 Col3 Total Col1/Total Trying to get this
7 0 3 10 70.00% 70.00%
1 0 1 100.00% 72.73%
2 0 4 6 33.33% 58.82%
3 1 1 5 60.00% 59.09%
诀窍是您希望使用子查询来标识前面的所有行
SELECT ID,
(
SELECT SUM(ValueColumn)
FROM Test T2
WHERE T2.ID <= T1.ID
) RunningSum
FROM
Test T1
ORDER BY
T1.ID
这会奏效的。如果您有一个大的数据集,您可能只需要选择数据并在应用程序中进行计算,因为在循环数据时,您将能够比此查询运行的效率更高地保持一个连续的总和。您要查找的是一个连续的总和。尝试以下操作:。能否显示一个需要澄清的预期输出示例?在[sql][ms access]上运行total的搜索作为第一个结果出现。例如,假设列1的值为1-4行,则列2的值为1-4行。然后在第3列中,对于每一行1-4,它将在其上面添加每一行,因此第2行第3列将第1列和第2列相加。这是我的qry,我在select语句附近遇到错误?选择ID,DateColumn,inclution,BrokenGlass,OtherReasons,sumplution+SUMBrokenGlass+SUMOtherReasons作为总计,sumplution/Total作为Expr1,从tblTest T2中选择sumplution,其中T2.ID@user1342164我想您需要选择ID,DateColumn,inclution,BrokenGlass,OtherReasons,SumInclution+SUMBrokenGlass+SumOther原因为总计,SumInclution/总计为Expr1,从tblTest T2中选择SumInclution,其中T2.ID