【发布时间】:2011-06-19 02:28:50
【问题描述】:
如何从 SELECT 语句的前一个结果行中获取值
如果我们有一个名为 cardevent 的表并且有行 [ID(int) , Value(Money) ] 并且我们在其中有一些行,例如
ID --Value
1------70
1------90
2------100
2------150
2------300
3------150
3------200
3-----250
3-----280
等等……
如何进行一个查询,获取每个行 ID、值和数据出现的前一行值如下
ID --- Value ---Prev_Value
1 ----- 70 ---------- 0
1 ----- 90 ---------- 70
2 ----- 100 -------- 90
2 ------150 -------- 100
2 ------300 -------- 150
3 ----- 150 -------- 300
3 ----- 200 -------- 150
3 ---- 250 -------- 200
3 ---- 280 -------- 250
等等。
那么任何人都可以帮助我为此类问题找到最佳解决方案吗?
需要查询帮助
【问题讨论】:
-
您的两行
[1, 70]和[1, 90]可以按任意顺序存储在数据库中。如何选择哪个在另一个之前?根据内部数据库数据结构的重新平衡,它可能会随时发生变化。
标签: sql sql-server sql-server-2005