SQL查询查找运行总计

时间:2015-09-24 09:06:42

标签: sql sql-server-2008

请帮助我找到下表的运行总数

http://sqlfiddle.com/#!3/2c0ec/1

上面显示的示例是一个示例。用于到达这个地方的实际查询非常大,因此自联接不是一个可行的选择。请建议使用sum()等函数(.....)

以下将是输出

enter image description here 提前谢谢

2 个答案:

答案 0 :(得分:1)

之前我问过,您可以在2008版本中使用func playButton(playButton: UIButton!) { let imageName: String if activePlayer == 1 { imageName = "x.png" } else { imageName = "o.png" } if let image = UIImage(named: imageName) { playButton.setImage(image, forState: .Normal) } else { print("error while retrieving image named '\(imageName)'") } } ,在2012年使用Common Table Expression (CTE)子句

这是我从Dark Knight得到的答案。

OVER

信用:https://stackoverflow.com/a/32240745/5197152

How to continously add values of starting row and next row to it

希望线程能帮到你。

答案 1 :(得分:1)

标准方法是使用子查询:

select *, (select sum(salary) from tablename t2 where t2.id <= t1.id) as runningsalary
from tablename t1

Sql Server 2012 +中,您可以使用窗口功能:

select *, sum(salary) over(order by id) as runningsalary
from tablename t1